Skip to content

Commit

Permalink
Doc: various improvements in documentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
vovamarch authored and JonatanAntoni committed Oct 17, 2023
1 parent a97be3e commit 825ef36
Show file tree
Hide file tree
Showing 28 changed files with 69 additions and 57 deletions.
2 changes: 1 addition & 1 deletion CMSIS/DoxyGen/Compiler/Compiler.dxy.in
Original file line number Diff line number Diff line change
Expand Up @@ -916,7 +916,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.

INPUT = src/main.md \
INPUT = src/mainpage.md \

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions CMSIS/DoxyGen/Core/src/Ref_Peripheral.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ Most of the rules also apply to the core peripherals. The \ref device_h_pg cont
the core specific header files.

\ifnot FuSaRTS
The definitions for \ref peripheral_gr can be generated using the <a href="../../SVD/html/index.html"><b>CMSIS-SVD</b></a> System View Description for Peripherals.
Refer to <a href="../../SVD/html/svd_SVDConv_pg.html"><b>SVDConv.exe</b></a> for more information.
The definitions for \ref peripheral_gr can be generated using the <a href="https://open-cmsis-pack.github.io/svd-spec/latest/index.html"><b>CMSIS-SVD</b></a> System View Description for Peripherals.
Refer to <a href="https://open-cmsis-pack.github.io/svd-spec/latest/svd_SVDConv_pg.html"><b>SVDConv.exe</b></a> for more information.
\endif

Each peripheral provides a data type definition with a name that is composed of:
Expand Down
2 changes: 1 addition & 1 deletion CMSIS/DoxyGen/Core/src/mainpage.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ The Armv8-M architecture is described in the [Armv8-M Architecture Reference Man

The Armv8.1-M architecture further extends Armv8-M with Helium (the so called M-Profile Vector Extension (MVE)), as well as further instruction set and debug extensions.

More information about Armv8.1-M architecture is available under [Arm Helium technology](hhttps://developer.arm.com/Architectures/Helium).
More information about Armv8.1-M architecture is available under [Arm Helium technology](https://developer.arm.com/Architectures/Helium).

## Tested and Verified Toolchains {#tested_tools_sec}

Expand Down
2 changes: 1 addition & 1 deletion CMSIS/DoxyGen/Core_A/src/Ref_IRQCtrl.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ The Armv7-A architecture defines a common set of first level exceptions, see tab
By default those handlers are defined as weak empty functions by the \ref startup_c_sec "device specific startup code".
Software and peripheral interrupts are all handled by one of the both central interrupt handlers (IRQ and FIQ). These needs to
be implemented application specific. If an RTOS is used the interrupt handlers are typically provided by the RTOS, e.g. when using
<a href="../../RTOS2/html/rtx5_impl.html">RTX5</a>.
<a href="https://arm-software.github.io/CMSIS-RTX/latest/html/index.html">CMSIS-RTX</a>.

The interrupts available depends on the actual device in use. According to CMSIS specification the interrupts are defined in \ref IRQn_Type in \ref device_h_pg. Using the generic IRQ API one can easily enable and disable interrupts, set up priorities, modes and preemption rules, and register interrupt callbacks.

Expand Down
2 changes: 1 addition & 1 deletion CMSIS/DoxyGen/DAP/DAP.dxy.in
Original file line number Diff line number Diff line change
Expand Up @@ -916,7 +916,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.

INPUT = src/main.md \
INPUT = src/mainpage.md \

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down
Binary file modified CMSIS/DoxyGen/DAP/src/images/cmsis_dap_interface.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CMSIS-DAP {#mainpage}

**CMSIS-DAP** is a **protocol** specification and an open-source **firmware** implementation that provides standardized access to the CoreSight Debug Access Port ([DAP](https://developer.arm.com/documentation/102585/0000/what-is-a-debug-access-port))
**CMSIS-DAP** is a protocol specification and an open-source firmware implementation that provides standardized access to the CoreSight Debug Access Port ([DAP](https://developer.arm.com/documentation/102585/0000/what-is-a-debug-access-port))
available on many Arm Cortex processors as part of the [CoreSight Debug and Trace](https://developer.arm.com/ip-products/system-ip/coresight-debug-and-trace) functionality.

![Overview of CMSIS-DAP](./images/cmsis_dap_interface.png)
Expand Down
2 changes: 1 addition & 1 deletion CMSIS/DoxyGen/DSP/DSP.dxy.in
Original file line number Diff line number Diff line change
Expand Up @@ -916,7 +916,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.

INPUT = src/main.md \
INPUT = src/mainpage.md \

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

## Access to CMSIS-DSP

CMSIS-DSP is actively maintained in a GitHub repository and is also published as a standalone release in CMSIS Pack format.
CMSIS-DSP is actively maintained in a dedicated GitHub repository and is also published as a standalone release in [CMSIS Pack format]().

- [**CMSIS-DSP GitHub Repo**](https://github.com/ARM-software/CMSIS-DSP) provides the full source code as well as releases in CMSIS-Pack format.
- [**CMSIS-DSP Documentation**](https://arm-software.github.io/CMSIS-DSP/latest/) explains how to use the library and describes the implemented functions in details.
Expand Down
1 change: 1 addition & 0 deletions CMSIS/DoxyGen/Doxygen_Templates/extra_stylesheet.css
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,7 @@ body, table, div, p, dl {
margin-bottom:0px;
padding-inline: 5px;
padding-bottom: 3px;
cursor: pointer;
}

.tile h2 {
Expand Down
2 changes: 1 addition & 1 deletion CMSIS/DoxyGen/General/General.dxy.in
Original file line number Diff line number Diff line change
Expand Up @@ -916,7 +916,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.

INPUT = ./src/introduction.md \
INPUT = ./src/mainpage.md \
./src/cmsis_sw_pack.md \
./src/revision_history.md

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ CMSIS has been created to help the industry in standardization. It enables consi
- Provide software abstractions for basic level functionalities of a device.
- Maintained in the same GitHub repository and delivered as a bundle in \ref cmsis_pack.
<div class="tiles">
<div class="tile">
<div class="tile" onclick="document.location='../../Core/html/index.html'">
<span class="tileh h2">CMSIS-Core</span><span class="tiletxt">Standardized access to Arm Cortex processor cores</span><span class="tilelinks"><a href="https://arm-software.github.io/CMSIS_6/latest/Core/html/index.html">Guide</a> | <a href="https://github.com/ARM-software/CMSIS_6">GitHub</a></span>
</div>
<div class="tile">
<div class="tile" onclick="document.location='../../Driver/html/index.html'">
<span class="tileh h2">CMSIS-Driver</span><span class="tiletxt">Generic peripheral driver interfaces for middleware</span><span class="tilelinks"><a href="https://arm-software.github.io/CMSIS_6/latest/Driver/html/index.html">Guide</a> | <a href="https://github.com/ARM-software/CMSIS_6">GitHub</a></span>
</div>
<div class="tile">
<div class="tile" onclick="document.location='../../RTOS2/html/index.html'">
<span class="tileh h2">CMSIS-RTOS2</span><span class="tiletxt">Common API for real-time operating systems</span><span class="tilelinks"><a href="https://arm-software.github.io/CMSIS_6/latest/RTOS2/html/index.html">Guide</a> | <a href="https://github.com/ARM-software/CMSIS_6">GitHub</a></span>
</div>
</div>
Expand All @@ -29,16 +29,16 @@ CMSIS has been created to help the industry in standardization. It enables consi
- Implement specific functionalities optimized for execution on Arm processors.
- Maintained in separate GitHub repositories and delivered in standalone CMSIS-Packs.
<div class="tiles">
<div class="tile">
<div class="tile" onclick="document.location='../../DSP/html/index.html'">
<span class="tileh h2">CMSIS-DSP</span><span class="tiletxt">Collection of optimized compute library for embedded systems</span><span class="tilelinks"><a href="https://arm-software.github.io/CMSIS-DSP/latest/">Guide</a> | <a href="https://github.com/ARM-software/CMSIS-DSP">GitHub</a></span>
</div>
<div class="tile">
<div class="tile" onclick="document.location='../../NN/html/index.html'">
<span class="tileh h2">CMSIS-NN</span><span class="tiletxt">Collection of efficient and optimized neural network kernels</span><span class="tilelinks"><a href="https://arm-software.github.io/CMSIS-NN/latest/">Guide</a> | <a href="https://github.com/ARM-software/CMSIS-NN">GitHub</a></span>
</div>
<div class="tile">
<div class="tile" onclick="document.location='../../View/html/index.html'">
<span class="tileh h2">CMSIS-View</span><span class="tiletxt">Event Recorder and Component Viewer technology</span><span class="tilelinks"><a href="https://arm-software.github.io/CMSIS-View/latest/">Guide</a> | <a href="https://github.com/ARM-software/CMSIS-View">GitHub</a></span>
</div>
<div class="tile">
<div class="tile" onclick="document.location='../../Compiler/html/index.html'">
<span class="tileh h2">CMSIS-Compiler</span><span class="tiletxt">Retarget I/O functions of the standard C run-time library</span><span class="tilelinks"><a href="https://arm-software.github.io/CMSIS-Compiler/latest/">Guide</a> | <a href="https://github.com/ARM-software/CMSIS-Compiler">GitHub</a></span>
</div>
</div>
Expand All @@ -47,16 +47,16 @@ CMSIS has been created to help the industry in standardization. It enables consi
- Provide useful utilities for software development workflows with CMSIS-based components.
- Maintained in separate GitHub repositories.
<div class="tiles">
<div class="tile">
<div class="tile" onclick="document.location='../../Toolbox/html/index.html'">
<span class="tileh h2">CMSIS-Toolbox</span><span class="tiletxt">A set of command-line tools to work with software packs</span><span class="tilelinks"><a href="https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/README.md">Guide</a> | <a href="https://github.com/Open-CMSIS-Pack/cmsis-toolbox">GitHub</a></span>
</div>
<div class="tile">
<span class="tileh h2">CMSIS-Stream</span><span class="tiletxt">Peripheral description of a device for debug view</span><span class="tilelinks"><a href="https://arm-software.github.io/CMSIS-Stream/latest/">Guide</a> | <a href="https://github.com/ARM-software/cmsis-stream">GitHub</a></span>
<div class="tile" onclick="document.location='../../Stream/html/index.html'">
<span class="tileh h2">CMSIS-Stream</span><span class="tiletxt">Peripheral description of a device for debug view</span><span class="tilelinks"><a href="https://github.com/ARM-software/CMSIS-Stream/blob/main/README.md">Guide</a> | <a href="https://github.com/ARM-software/cmsis-stream">GitHub</a></span>
</div>
<div class="tile">
<div class="tile" onclick="document.location='../../DAP/html/index.html'">
<span class="tileh h2">CMSIS-DAP</span><span class="tiletxt">Firmware for debug units interfacing to CoreSight Debug Access Port</span><span class="tilelinks"><a href="https://arm-software.github.io/CMSIS-DAP/latest/">Guide</a> | <a href="https://github.com/ARM-software/CMSIS-DAP">GitHub</a></span>
</div>
<div class="tile">
<div class="tile" onclick="document.location='../../Zone/html/index.html'">
<span class="tileh h2">CMSIS-Zone</span><span class="tiletxt">Defines methods to describe system resources and to partition them</span><span class="tilelinks"><a href="">Guide</a> | <a href="https://github.com/ARM-software/CMSIS-Zone">GitHub</a></span>
</div>
</div>
Expand All @@ -65,11 +65,11 @@ CMSIS has been created to help the industry in standardization. It enables consi
<h2>CMSIS Specifications</h2>
- Define methodologies and workflows for embedded software development.
<div class="tiles">
<div class="tile">
<div class="tile" onclick="document.location='https://open-cmsis-pack.github.io/Open-CMSIS-Pack-Spec/main/html/index.html'">
<span class="tileh h2">CMSIS-Pack</span><span class="tiletxt">Delivery mechanism for software components and device/board support</span><span class="tilelinks"><a href="https://open-cmsis-pack.github.io/Open-CMSIS-Pack-Spec/main/html/index.html">Guide</a> | <a href="https://github.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec">GitHub</a></span>
</div>
<div class="tile">
<span class="tileh h2">CMSIS-SVD</span><span class="tiletxt">Peripheral description of a device for debug view</span><span class="tilelinks"><a href="">Guide</a> | <a href="">GitHub</a></span>
<div class="tile" onclick="document.location='https://open-cmsis-pack.github.io/svd-spec'">
<span class="tileh h2">CMSIS-SVD</span><span class="tiletxt">Peripheral description of a device for debug view</span><span class="tilelinks"><a href="https://open-cmsis-pack.github.io/svd-spec">Guide</a> | <a href="https://github.com/Open-CMSIS-Pack/svd-spec">GitHub</a></span>
</div>
</div>

Expand Down
2 changes: 1 addition & 1 deletion CMSIS/DoxyGen/NN/NN.dxy.in
Original file line number Diff line number Diff line change
Expand Up @@ -916,7 +916,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.

INPUT = src/main.md \
INPUT = src/mainpage.md \

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down
File renamed without changes.
6 changes: 3 additions & 3 deletions CMSIS/DoxyGen/RTOS2/src/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<tr>
<td>V2.2.0</td>
<td>
Added support for Process Isolation (Functional Safety):
Added support for \ref CMSIS_RTOS_ProcessIsolation :
- Kernel Management: \ref osKernelProtect, \ref osKernelDestroyClass
- Thread Management: \ref osThreadGetClass, \ref osThreadGetZone,<br>
\ref osThreadSuspendClass, \ref osThreadResumeClass, \ref osThreadTerminateZone,<br>
Expand Down Expand Up @@ -82,8 +82,8 @@
</tr>
<tr>
<td>V1.02</td>
<td>Added: New control functions for short timeouts in microsecond resolution \b osKernelSysTick,
\b osKernelSysTickFrequency, \b osKernelSysTickMicroSec.\n
<td>Added: New control functions for short timeouts in microsecond resolution **osKernelSysTick**,
\b osKernelSysTickFrequency, **osKernelSysTickMicroSec**.\n
Removed: osSignalGet.
</td>
</tr>fv
Expand Down
2 changes: 1 addition & 1 deletion CMSIS/DoxyGen/RTOS2/src/mainpage.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Several popular RTOS kernels include support for CMSIS-RTOS2 API:

## Access to CMSIS-RTOS2 {#rtos2_access}

CMSIS-RTOS2 and OS Tick intefaces are actively maintained in [**CMSIS 6 GitHub repository**](https://github.com/ARM-software/CMSIS_6) and provided as part of the CMSIS Software Pack.
CMSIS-RTOS2 and OS Tick intefaces are actively maintained in [**CMSIS 6 GitHub repository**](https://github.com/ARM-software/CMSIS_6) and provided as part of the [CMSIS Software Pack](../../General/html/cmsis_pack.html).

The following files relevant to CMSIS-RTOS2 are present in the **ARM::CMSIS** Pack directories:

Expand Down
18 changes: 9 additions & 9 deletions CMSIS/DoxyGen/RTOS2/src/using.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ The CMSIS-RTOS2 defines APIs for common RTOS services as listed below:

- \ref CMSIS_RTOS_KernelCtrl provides system information and controls the RTOS Kernel.
- \ref CMSIS_RTOS_ThreadMgmt allows you to define, create, and control RTOS threads (tasks).
- \ref CMSIS_RTOS_Wait for controlling time delays. Also see \ref CMSIS_RTOS_TimeOutValue.
- \ref CMSIS_RTOS_TimerMgmt functions are used to trigger the execution of functions.
- Three different event types support communication between multiple threads and/or ISR:
- \ref CMSIS_RTOS_ThreadFlagsMgmt "Thread Flags": may be used to indicate specific conditions to a thread.
- \ref CMSIS_RTOS_EventFlags "Event Flags": may be used to indicate events to a thread or ISR.
- \ref CMSIS_RTOS_Message "Messages": can be sent to a thread or an ISR. Messages are buffered in a queue.
- \ref CMSIS_RTOS_Wait for controlling time delays. Also see \ref CMSIS_RTOS_TimeOutValue.
- \ref CMSIS_RTOS_MutexMgmt and \ref CMSIS_RTOS_SemaphoreMgmt are incorporated.
- \ref CMSIS_RTOS_TimerMgmt functions are used to trigger the execution of functions.

The referenced pages contain theory of operation for corresponding services as well as detailed API description with example code.

Expand All @@ -43,20 +43,20 @@ CMSIS-RTOS2 is especially easy use to integrate in projects that support [CMSIS-

CMSIS-RTOS2 follows [the general CMSIS coding rules](../../General/html/index.html#coding_rules). Additionally following Namespace prefixes are used in CMSIS-RTOS2 API:

- **os** for all definitions and function names. Examples: \ref osThreadPrivileged, \ref osKernelStart.
- **os** with postfix **_t** for all typedefs. Examples: \ref osStatus_t, \ref osThreadAttr_t.
- `os` for all definitions and function names. Examples: \ref osThreadPrivileged, \ref osKernelStart.
- `os` with postfix `_t` for all typedefs. Examples: \ref osStatus_t, \ref osThreadAttr_t.

## System Startup {#SystemStartup}

When program execution reaches \c main() function there is a recommended order to initialize the hardware and start the kernel.
When program execution reaches `main()` function there is a recommended order to initialize the hardware and start the kernel.

Your application's \c main() should implement at least the following in the given order:
Your application's `main()` should implement at least the following in the given order:
-# Initialize and configure hardware including peripherals, memory, pins, clocks and the interrupt system.
-# Update the system core clock using the respective
[CMSIS-Core (Cortex-M)](../../Core/html/group__system__init__gr.html) \if ARMCA or [CMSIS-Core (Cortex-A)](../../Core_A/html/group__system__init__gr.html) \endif function.
-# Initialize the RTOS kernel using \ref osKernelInitialize.
-# Optionally, create one thread (for example \c app_main) using \ref osThreadNew, which will be used as a main thread . This thread should take care of creating and starting objects, once it is run by the scheduler. Alternatively, threads can be created directly in \c main().
-# Start the RTOS scheduler using \ref osKernelStart which also configures the system tick timer and initializes RTOS specific interrupts. This function does not return in case of successful execution. Therefore, any application code after \b osKernelStart will not be executed.
-# Optionally, create one thread (for example `app_main`) using \ref osThreadNew, which will be used as a main thread . This thread should take care of creating and starting objects, once it is run by the scheduler. Alternatively, threads can be created directly in `main()`.
-# Start the RTOS scheduler using \ref osKernelStart which also configures the system tick timer and initializes RTOS specific interrupts. This function does not return in case of successful execution. Therefore, any application code after `osKernelStart` will not be executed.

\note
- Modifying priorities and groupings in the NVIC by the application after the above sequence is not recommended.
Expand Down Expand Up @@ -151,7 +151,7 @@ Examples:
- CPU time can be scheduled with the following functionalities:
- A \a timeout parameter is incorporated in many CMSIS-RTOS2 functions to avoid system lockup. When a timeout is specified, the system waits until a resource is available or an event occurs. While waiting, other threads are scheduled.
- The \ref osDelay and \ref osDelayUntil functions put a thread into the \b WAITING state for a specified period of time.
- The \ref osDelay and \ref osDelayUntil functions put a thread into the **WAITING** state for a specified period of time.
- The \ref osThreadYield provides co-operative thread switching and passes execution to another thread of the same priority.
Expand Down
2 changes: 1 addition & 1 deletion CMSIS/DoxyGen/Stream/Stream.dxy.in
Original file line number Diff line number Diff line change
Expand Up @@ -916,7 +916,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.

INPUT = src/main.md \
INPUT = src/mainpage.md \

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion CMSIS/DoxyGen/Toolbox/Toolbox.dxy.in
Original file line number Diff line number Diff line change
Expand Up @@ -916,7 +916,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.

INPUT = src/main.md \
INPUT = src/mainpage.md \

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down
Loading

0 comments on commit 825ef36

Please sign in to comment.