Skip to content
This repository has been archived by the owner on Aug 20, 2024. It is now read-only.

Commit

Permalink
doc: revise build system and framework documentation.
Browse files Browse the repository at this point in the history
This patch fix deprecated parameter and file hierarchy.
- BS_FIRMWARE_LIST: list of firmware directories under product.
- SCP_MODULES: list of module make up the firmware.
- The hierarchy shown in module and product directory.

Signed-off-by: Wei-Chia.Su <wei-chia.su@arm.com>
  • Loading branch information
Wei-Chia.Su committed May 7, 2024
1 parent bb5a6e9 commit dfd8410
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 17 deletions.
35 changes: 19 additions & 16 deletions doc/build_system.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,34 +23,37 @@ __product__ directory and must adhere to the following hierarchy:
└─ product
   └── <product>
   ├── product.mk
│ ├── include
│ │ └── <product level header files...>
│ └── src
│ └── <product level source files...>
├── include
│ └── <product level header files...>
│── src
│ └── <product level source files...>
   ├── module
   ├── <firmware_1>
   │   └── <firmware 1 level configuration files...>
   └── <firmware_2>
      └── <firmware 2 level configuration files...>

Difference products that share similar files can be grouped into
Different products that share similar files can be grouped into
product_group. Shared files are located under __common__ directory, while
all products' specific code are kept under product directory. The following
hierarchy shows the grouped products under __product__ directory:

<root>
└─ product
└──<product_group>
├── <common>
│ │ ├── include
│ │ │ └── <common header files for products...>
│ │ └── src
│ │ └── <common source files for products...>
├── common
│ ├── include
│ │ └── <common header files for products...>
│ │── src
│ │ └── <common source files for products...>
│ └── module
   └── <product>
   ├── product.mk
│ ├── include
│ │ └── <product level header files...>
│ └── src
│ └── <product level source files...>
│── include
│ └── <product level header files...>
│── src
│ └── <product level source files...>
│── module
├── <firmware_1>
│   └── <firmware 1 level configuration files...>
└── <firmware_2>
Expand All @@ -70,7 +73,7 @@ The following parameters are mandatory:

* __BS_PRODUCT_NAME__ - Human-friendly name for the product. The content of this
variable is exposed to the compilation units.
* __BS_PRODUCT_FIRMWARE_LIST__ - List of firmware directories under the current
* __BS_FIRMWARE_LIST__ - List of firmware directories under the current
product.

# Module
Expand Down Expand Up @@ -104,7 +107,7 @@ is used when building a firmware.

__Note:__ The name of the \<module\> directory must not contain spaces.

The name of the \<module\> directory is used in __SCP_MODULE__ by `cmake`
The name of the \<module\> directory is used in __SCP_MODULES__ by `cmake`

The __doc__ directory is optional and may contain markdown (.md) based
documentation.
Expand Down
2 changes: 1 addition & 1 deletion doc/framework.md
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ order:
- Start

Each stage is executed for each module before moving onto the next stage, and
modules are processed in the order they are given in the *BS_FIRMWARE_MODULES*
modules are processed in the order they are given in the *SCP_MODULES*
list.

Once these stages have all been completed the firmware as a whole is considered
Expand Down

0 comments on commit dfd8410

Please sign in to comment.