forked from espressif/esp-idf
docs: changed bootloader extra component to a property in build-system.rst
This commit is contained in:
@@ -247,7 +247,7 @@ These variables all have default values that can be overridden for custom behavi
|
||||
|
||||
- ``BOOTLOADER_IGNORE_EXTRA_COMPONENT``: Optional list of components, placed in ``bootloader_components/``, that should be ignored by the bootloader compilation. Use this variable if a bootloader component needs to be included conditionally inside the project.
|
||||
|
||||
- ``BOOTLOADER_EXTRA_COMPONENT_DIRS``: Optional list of additional directories to search for components to be compiled as part of the bootloader.
|
||||
- ``BOOTLOADER_EXTRA_COMPONENT_DIRS``: Optional list of additional directories to search for components to be compiled as part of the bootloader. Please note that this is a build property.
|
||||
|
||||
Any paths in these variables can be absolute paths, or set relative to the project directory.
|
||||
|
||||
@@ -783,11 +783,11 @@ It is important to note that this can also be used for any other bootloader comp
|
||||
|
||||
See :example:`custom_bootloader/bootloader_override` for an example of overriding the default bootloader.
|
||||
|
||||
Similarly to regular applications, it is possible to include external components, not placed in `bootloader_component`, as part of the bootloader build thanks to the CMake variable ``BOOTLOADER_EXTRA_COMPONENT_DIRS``. It can either refer to a directory that contains several components, either refer to a single component. For example:
|
||||
Similarly to regular applications, it is possible to include external components, not placed in `bootloader_component`, as part of the bootloader build thanks to the build property ``BOOTLOADER_EXTRA_COMPONENT_DIRS``. It can either refer to a directory that contains several components, or refer to a single component. For example:
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
set(BOOTLOADER_EXTRA_COMPONENT_DIRS "/path/to/extra/component/")
|
||||
idf_build_set_property(BOOTLOADER_EXTRA_COMPONENT_DIRS "/path/to/extra/component/" APPEND)
|
||||
|
||||
project(main)
|
||||
|
||||
|
@@ -245,9 +245,9 @@ ESP-IDF 适用于 Python 3.8 以上版本。
|
||||
|
||||
- ``COMPONENTS``:要构建进项目中的组件名称列表,默认为 ``COMPONENT_DIRS`` 目录下检索到的所有组件。使用此变量可以“精简”项目以缩短构建时间。请注意,如果一个组件通过 ``COMPONENT_REQUIRES`` 指定了它依赖的另一个组件,则会自动将其添加到 ``COMPONENTS`` 中,所以 ``COMPONENTS`` 列表可能会非常短。
|
||||
|
||||
- ``BOOTLOADER_IGNORE_EXTRA_COMPONENT``:可选组件列表,位于 ``bootloader_components/`` 目录中,引导加载程序编译时会忽略该列表。使用这一变量可以将一个组件有条件地包含在项目中。
|
||||
- ``BOOTLOADER_IGNORE_EXTRA_COMPONENT``:可选组件列表,位于 ``bootloader_components/`` 目录中,引导加载程序编译时会忽略该列表中的组件。使用这一变量可以将一个组件有条件地包含在项目中。
|
||||
|
||||
- ``BOOTLOADER_EXTRA_COMPONENT_DIRS``:可选的附加路径列表,引导加载程序编译时将从这些路径中搜索要编译的组件。
|
||||
- ``BOOTLOADER_EXTRA_COMPONENT_DIRS``:可选的附加路径列表,引导加载程序编译时将从这些路径中搜索要编译的组件。注意,这是一个构建属性。
|
||||
|
||||
以上变量中的路径可以是绝对路径,或者是相对于项目目录的相对路径。
|
||||
|
||||
@@ -783,15 +783,15 @@ KConfig.projbuild
|
||||
|
||||
请参考 :example:`custom_bootloader/bootloader_override` 查看覆盖默认引导加载程序的示例。
|
||||
|
||||
与常规应用程序类似,通过 CMake 变量 ``BOOTLOADER_EXTRA_COMPONENT_DIRS`` 可以将不在 `bootloader_component` 中的外部组件作为引导加载程序的一部分进行构建。可以只引用一个组件,也可以引用包含多个组件的路径。例如:
|
||||
与常规应用程序类似,通过构建属性 ``BOOTLOADER_EXTRA_COMPONENT_DIRS`` 可以将不在 `bootloader_component` 中的外部组件作为引导加载程序的一部分进行构建。可以只引用一个组件,也可以引用包含多个组件的路径。例如:
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
set(BOOTLOADER_EXTRA_COMPONENT_DIRS "/path/to/extra/component/")
|
||||
idf_build_set_property(BOOTLOADER_EXTRA_COMPONENT_DIRS "/path/to/extra/component/" APPEND)
|
||||
|
||||
project(main)
|
||||
|
||||
请参考 :example:`custom_bootloader/bootloader_extra_dir` 查看向引导加载程序构建过程添加额外组件的示例。
|
||||
请参考示例 :example:`custom_bootloader/bootloader_extra_dir`,查看如何向引导加载程序构建过程添加额外的组件。
|
||||
|
||||
.. _config_only_component:
|
||||
|
||||
|
@@ -7,7 +7,7 @@
|
||||
|
||||
The purpose of this example is to show how to add a custom directory that contains a component to the bootloader build.
|
||||
|
||||
Registering extra components for the bootloader can be done thanks to the CMake variable `BOOTLOADER_EXTRA_COMPONENT_DIRS`. It works the same way as the application's `EXTRA_COMPONENT_DIRS`, it can either refer to a directory that contains several components, either refer to a single component.
|
||||
Registering extra components for the bootloader can be done thanks to the IDF property `BOOTLOADER_EXTRA_COMPONENT_DIRS`. It can either refer to a directory that contains several components, either refer to a single component.
|
||||
|
||||
## Usage of this example:
|
||||
|
||||
@@ -33,14 +33,14 @@ User application is loaded and running.
|
||||
|
||||
## Organization of this example
|
||||
|
||||
This project contains an application, in the `main` directory that represents an application. It also contains a `bootloader_components` that contains a component compiled and linked with the bootloader. This `bootloader_components` can contain several components, each of them would be in a different directory.
|
||||
This project contains a `main` directory that represents an application. It also has a `bootloader_components` directory that contains a component that will be compiled and linked with the bootloader. This `bootloader_components` can contain several components, each of them would be in a different directory.
|
||||
|
||||
The directory `extra_bootloader_components/extra_component/` contains a component that is meant to be included in the bootloader build. To do so, the variable `BOOTLOADER_EXTRA_COMPONENT_DIRS` is set from the `CMakeLists.txt` file.
|
||||
The directory `extra_bootloader_components/extra_component/` contains a component that is meant to be included in the bootloader build. To do so, the CMake property `BOOTLOADER_EXTRA_COMPONENT_DIRS` is set from the `CMakeLists.txt` file.
|
||||
|
||||
Below is a short explanation of files in the project folder.
|
||||
|
||||
```
|
||||
├── CMakeLists.txt Defines the `BOOTLOADER_EXTRA_COMPONENT_DIRS` variable
|
||||
├── CMakeLists.txt Defines the `BOOTLOADER_EXTRA_COMPONENT_DIRS` property
|
||||
├── main
|
||||
│ ├── CMakeLists.txt
|
||||
│ └── main.c User application
|
||||
|
Reference in New Issue
Block a user