Update pack_creation.txt
Update as required by
@@ -53,9 +53,8 @@ programmer.
\image html software_component.png
-\anchor cp_CompDetails
-Technical Details
------------------
+
+\subsection cp_CompDetails Technical Details
A component lists the files that belong to it and that are relevant for a project. The component itself or each individual
file may refer to a \ref element_condition "condition" that must resolve to true; if it is false, the component or file is
@@ -101,8 +100,9 @@ Here is an example for the display of software components in a development tool:
\image html ComponentDisplay.png "Display of a software component in development tools"
-Software Component Files
-------------------------
+
+\subsection cp_CompFiles Software Component Files
+
Each software component consists of a certain number of files. Each file has at least the following attributes:
- \c name: File path, file name, and file extension in the format path/name.extension. The file path is relative to the root
directory of the Pack.
@@ -124,6 +124,27 @@ Optionally, every file may have the following attributes:
component version is used.
+\subsection cp_CompFileNaming File naming
+
+It is good practice to name software component files uniquely. This is especially important for user
+configuration files that are copied into a project. The CMSIS-Pack run-time environment copies configuration files
+by \c \<Cclass> into the directory structure. For example, <tt>./RTE/BSP</tt> stores all user editable files
+of the \c \<Cclass> \b BSP. If the file name is not unique, clashes might occur with other software components of the same
+\c \<Cclass> (for example when you name the configuration file \c user_config.h).
+
+Recommended configuration file naming is as follows: <tt>\<vendor>_\<unique_component>_config</tt>
+
+\b Examples
+- MyVendor_MyBSP_config.h
+- MyVendor_MyNetworkStack_config.h
+
+\note
+Please be aware that you also need to make sure that your configuration files need to be uniquely named and versioned if
+your software component consists of \c \<Cvariants> that differ in the configuration files. Otherwise, it might happen that
+your toolchain is not able to resolve correctly and users might end up with unconfigurable components, especially when they
+change the variant while developing the application.
+
+
\section cp_Cond References to other software components
Software components can reference other software components (either within the same pack or in other packs) using conditions:
