Skip to content
Snippets Groups Projects
Commit e53a1413 authored by Joachim Krech's avatar Joachim Krech
Browse files

updates for 1.6.0

parent a306f8cb
No related branches found
No related tags found
No related merge requests found
......@@ -74,6 +74,15 @@ Files relevant to CMSIS-Pack are present in the following \b ARM::CMSIS director
<th>Version</th>
<th>Description</th>
</tr>
<tr>
<td>1.6.0</td>
<td>Modifications compared to Version 1.5.0
- added Armv8.1-M MVE processor feature attribute 'Dmve'.
- added local and global pre-include section \ref Pre_Include_Local_h, \ref Pre_Include_Global_h.
- added file categories 'preIncludeLocal' and 'preIncludeGlobal' \ref FileCategoryEnum.
- added file attribute 'path' for file category 'header' to add support for relative include paths.
</td>
</tr>
<tr>
<td>1.5.0</td>
<td>Modifications compared to Version 1.4.9
......
......@@ -184,7 +184,68 @@ that are related to other components for the same Software Pack.
\endcode
<p>&nbsp;</p>
<p>&nbsp;</p>
<hr>
\section Pre_Include_Global_h
The build environment shall generate a C/C++ header file with the name <b>Pre_Include_Global.h</b> from all selected components and add this file
to the command line as a pre-include file for the build of all modules in the project.
Note: the file shall be generated into the RTE/\<target> subdirectory.
\code
<component Cclass="Other" Cgroup="Alpha" ...>
<Pre_Include_Global_h>
// enabling global pre include
#define GLOBAL_Component_Alpha 0x4
</Pre_Include_Global_h>
</component>
<component Cclass="Other" Cgroup="Beta" ...>
<Pre_Include_Global_h>
// enabling global pre include
#define GLOBAL_Component_Beta 0x8
</Pre_Include_Global_h>
</component>
\endcode
results in .../RTE/target_1/Pre_Include_Global.h:
\code
// enabling global pre include
#define GLOBAL_Component_Alpha 0x4
// enabling global pre include
#define GLOBAL_Component_Beta 0x8
\endcode
No need to explicitly include this file as it is automatically added as pre-include into the build for all modules.
<p>&nbsp;</p>
<hr>
\section Pre_Include_Local_h
The build environment shall generate a C/C++ header file with the name <b>Pre_Include_\<Cclass>_\<component>.h</b>
from the selected component and add this file to the command line as a pre-include file for the build of all modules of this component.
The same is done for each component containing a "Pre_Include_Local_h" element.
Note: files shall be generated into the RTE/\<target> subdirectory.
\code
<component Cclass="Other" Cgroup="Alpha" ...>
<Pre_Include_Local_h>
// enabling local pre include
#define Local_Component_Alpha 1
</Pre_Include_Local_h>
</component>
\endcode
results in .../RTE/target_1/Pre_Include_Other_Alpha.h:
\code
// enabling local pre include
#define Local_Component_Alpha 1
\endcode
No need to explicitly include this file as it is automatically added as pre-include into the build for all modules of component Other:Alpha.
<p>&nbsp;</p>
<hr>
\section element_components /package/components
......@@ -436,10 +497,23 @@ A component describes a collection of files (source, header, configuration, libr
</tr>
<tr>
<td>RTE_Components_h</td>
<td>Source code that is copied into the file \ref RTE_Components_h when the component is included into a software project.</td>
<td>Source code that is copied into the file \ref RTE_Components_h when the component is selected by the run time environment configuration.</td>
<td>xs:string </td>
<td>0..1 </td>
</tr>
<tr>
<td>Pre_Include_Global_h</td>
<td>Source code that is copied into the file \ref Pre_Include_Global_h when the component is selected by the run time environment configuration.</td>
<td>xs:string </td>
<td>0..1 </td>
</tr>
<tr>
<td>Pre_Include_Local_Component_h</td>
<td>Source code that is copied into the file \ref Pre_Include_Local_h \<Cclass>_\<Component_name>.h when the component is selected by the run time environment configuration.</td>
<td>xs:string </td>
<td>0..1 </td>
</tr>
<tr>
<td>\ref element_files "files"</td>
<td>Grouping element for all files that are part of this component.</td>
......@@ -602,17 +676,25 @@ The file purpose is defined through the <b>category</b> attribute. The <b>name</
<td>xs:string</td>
<td>required</td>
</tr>
<tr>
<td>path</td>
<td>for <b>category="header"</b> the path attribute explicitly can be used to specify the include path to be added to the commandline of the build tools,
specifying an imcomplete path. This way the include file requires the specification of the subdirectory (e.g. \#include "sub_dir/includeFile.h") which can act as
acting as namespace for header files which otherwise have the same name.</td>
<td>xs:string</td>
<td>optional</td>
</tr>
<tr>
<td>category</td>
<td>Defines the purpose of the file. Select the predefined value as listed in the table \ref FileCategoryEnum "File Categories".</td>
<td>FileCategoryEnum</td>
<td>\ref FileCategoryEnum</td>
<td>required</td>
</tr>
<tr>
<td>attr</td>
<td>Defines the special use and handling of a file. Select a predefined value as defined in the table \ref FileAttributeEnum "File Attributes".
</td>
<td>FileAttributeEnum</td>
<td>\ref FileAttributeEnum</td>
<td>optional</td>
</tr>
<tr>
......@@ -672,8 +754,7 @@ The table lists the values available as a file attribute.
<tr>
<td class="XML-Token">config</td>
<td>The file is a configuration file of the component. It is expected that only configuration options are modified.
The file is managed as part of the component, as a project-specific file typically copied into the component section of the project.
</td>
The file is managed as part of the component, as a project-specific file typically copied into the component section of the project.s</td>
</tr>
<tr>
<td class="XML-Token">template</td>
......@@ -724,11 +805,12 @@ The table lists the predefined values for a file category.
</tr>
<tr>
<td class="XML-Token">header</td>
<td>Header file used in the component. Sets an include file path.</td>
<td>Header file used in the component. Sets an include file path and adds the file name attribute to the list of files to be added
to a module using the <b>\#include</b> statement. Note: specify only those files as header files that form part of the API of the component, required to use the component</td>
</tr>
<tr>
<td class="XML-Token">include</td>
<td>Sets an include file path.</td>
<td>Sets an include file path. Note: ensure that the name attribute specifies a directory and ends with a '/'.</td>
</tr>
<tr>
<td class="XML-Token">library</td>
......@@ -768,6 +850,14 @@ The table lists the predefined values for a file category.
This category requires the <em>attr</em> being set to <em>template</em><!--- or <em>interface</em> --->.
</td>
</tr>
<tr>
<td class="XML-Token">preIncludeGlobal</td>
<td>The specified file is added as a pre-include file to the compiler command line for all modules of the whole <b>project</b> (globally).</td>
</tr>
<tr>
<td class="XML-Token">preIncludeLocal</td>
<td>The specified file is added as a pre-include file to the compiler command line for all modules of the <b>component</b> (locally).</td>
</tr>
<tr>
<td class="XML-Token">other</td>
<td>Other file types not covered in the list above</td>
......
......@@ -1767,9 +1767,15 @@ the attribute \elem{Pname}. If the information is relevant to all processors, no
<tr>
<td>Ddsp</td>
<td>Specifies whether a device supports the DSP instructions set. Use predefined values as listed in the table \ref DdspEnum "Device DSP".</td>
<td>DdspEnum</td>
<td>\ref DdspEnum DdspEnum</td>
<td>required</td>
</tr>
<tr>
<td>Dmve</td>
<td>Specifies whether a device supports the M-Profile Vector instruction set extension. Use predefined values as listed in the table \ref DmveEnum "Device MVE".</td>
<td>\ref DmveEnum DmveEnum</td>
<td>required for ARMv8.1-M based devices</td>
</tr>
<tr>
<td>Dendian</td>
<td>Specifies the endianess of the processor. Use predefined values as listed in the table \ref DendianEnum "Endinaness".</td>
......@@ -2408,6 +2414,35 @@ The values can be used in the elements:
<p>&nbsp;</p>
\anchor DmveEnum <b>Table: Device implements M-Profile Vector Extension Instructions</b>
The table shows predefined values that identify whether a CPU implements MVE instructions (MVE).
The values can be used in the elements:
- \ref element_accept
- \ref element_require
- \ref element_deny
- \ref element_processor
<table class="cmtable" summary="Enumeration: DmveEnum">
<tr>
<th>Dmve=</th>
<th>Description</th>
</tr>
<tr>
<td class="XML-Token">NO_MVE</td>
<td>No MVE instructions supported</td>
</tr>
<tr>
<td class="XML-Token">MVE</td>
<td>Integer MVE instructions supported</td>
</tr>
<tr>
<td class="XML-Token">FP_MVE</td>
<td>Floating point and Integer MVE instructions supported</td>
</tr>
</table>
<p>&nbsp;</p>
\anchor DendianEnum <b>Table: Endianness</b>
......
......@@ -461,7 +461,7 @@ Contributing to a software pack hosted on GitHub:
- Open the URL specified by the \c \<repository> element in a browser.
- Create a fork of the repository.
- Clone the fork on your machine (you may want to checkout the \c tag specified in the \ref element_releases "\<release>" element).
- Create a branch for you modifications.
- Create a branch for your modifications.
- Develop and test the modifications of your branch and push the branch to GitHub.
- Create a pull request of your branch into the upstream repository.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment