Merge branch 'docs/update_startup_for_single_core_chip' into 'master'

docs: update startup.rst description for single-core chip support

See merge request espressif/esp-idf!33393
This commit is contained in:
Zhang Xiao Yan 2024-09-11 10:32:44 +08:00
commit fba9b50456
2 changed files with 14 additions and 6 deletions

View File

@ -7,11 +7,15 @@ This note explains various steps which happen before ``app_main`` function of an
The high level view of startup process is as follows:
.. list::
1. :ref:`first-stage-bootloader` in ROM loads second-stage bootloader image to RAM (IRAM & DRAM) from flash offset {IDF_TARGET_CONFIG_BOOTLOADER_OFFSET_IN_FLASH}.
2. :ref:`second-stage-bootloader` loads partition table and main app image from flash. Main app incorporates both RAM segments and read-only segments mapped via flash cache.
3. :ref:`application-startup` executes. At this point the second CPU and RTOS scheduler are started.
:SOC_HP_CPU_HAS_MULTIPLE_CORES: 3. :ref:`application-startup` executes. At this point, the second CPU and RTOS scheduler are started, which then run the ``main_task``, leading to the execution of ``app_main``.
:not SOC_HP_CPU_HAS_MULTIPLE_CORES: 3. :ref:`application-startup` executes. At this point, the RTOS scheduler is started, which then runs the ``main_task``, leading to the execution of ``app_main``.
This process is explained in detail in the following sections.

View File

@ -7,11 +7,15 @@
宏观上,该启动流程可以分为如下 3 个步骤:
.. list::
1. :ref:`first-stage-bootloader` 被固化在了 {IDF_TARGET_NAME} 内部的 ROM 中,它会从 flash 的 {IDF_TARGET_CONFIG_BOOTLOADER_OFFSET_IN_FLASH} 偏移地址处加载二级引导程序至 RAM (IRAM & DRAM) 中。
2. :ref:`second-stage-bootloader` 从 flash 中加载分区表和主程序镜像至内存中,主程序中包含了 RAM 段和通过 flash 高速缓存映射的只读段。
3. :ref:`application-startup` 运行,这时第二个 CPU 和 RTOS 的调度器启动。
:SOC_HP_CPU_HAS_MULTIPLE_CORES: 3. :ref:`application-startup` 运行,这时第二个 CPU 和 RTOS 调度器启动,接着运行 ``main_task``,从而执行 ``app_main``。
:not SOC_HP_CPU_HAS_MULTIPLE_CORES: 3. :ref:`application-startup` 运行,这时 RTOS 调度器启动,接着运行 ``main_task``,从而执行 ``app_main``。
下面会对上述过程进行更为详细的阐述。