Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Projects/NUCLEO-WB35CE/Examples_LL/HSEM/HSEM_DualProcess_IT/readme.txt')
-rw-r--r--Projects/NUCLEO-WB35CE/Examples_LL/HSEM/HSEM_DualProcess_IT/readme.txt81
1 files changed, 81 insertions, 0 deletions
diff --git a/Projects/NUCLEO-WB35CE/Examples_LL/HSEM/HSEM_DualProcess_IT/readme.txt b/Projects/NUCLEO-WB35CE/Examples_LL/HSEM/HSEM_DualProcess_IT/readme.txt
new file mode 100644
index 000000000..8fa7d48f8
--- /dev/null
+++ b/Projects/NUCLEO-WB35CE/Examples_LL/HSEM/HSEM_DualProcess_IT/readme.txt
@@ -0,0 +1,81 @@
+/**
+ @page HSEM_DualProcess_IT HSEM : Hardware semaphore
+
+ @verbatim
+ ******************************************************************************
+ * @file Examples_LL/HSEM/HSEM_DualProcess_IT/readme.txt
+ * @author MCD Application Team
+ * @brief Description of the HSEM_DualProcess_IT example.
+ ******************************************************************************
+ *
+ * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ @endverbatim
+
+@par Example Description
+
+How to use the low-layer HSEM API to initialize, lock, and unlock hardware
+semaphore in the context of two processes accessing the same resource.
+
+Example execution:
+After startup from reset and system configuration, HSEM configuration is performed.
+
+Two processes are used to demonstrate the features:
+ PROCESS_A with an identifier of 0xA (This can be changed at will).
+ PROCESS_B with an identifier of 0xB (This can be changed at will).
+
+The hardware semaphore used is 0x2 (This can be changed at will).
+
+PROCESS_A takes the semaphore with interrupt enable.
+PROCESS_A releases the semaphore with success.
+This trigs the HSEM interrupt where PROCESS_B takes the semaphore.
+PROCESS_B releases the semaphore with success.
+
+After successful sequence, LED2 is turned On.
+In case of errors, LED2 is slowly blinking (1sec period).
+
+Additionnaly, this example demonstrate how to:
+ Retreive the current process locking a semaphore.
+ Retreive the current core locking a semaphore.
+
+Remarks:
+ As this example uses two processes to demonstrate the lock/unlock mechanism, it is not
+ possible to use the function LL_HSEM_1StepLock which does not use process identifier. Those
+ identifier are set to 0. This function is only interesting in the context of multicore where
+ the core identifers are used to determine the owner of the semaphore.
+
+@par Keywords
+
+Hardware semaphore, Semaphore, HSEM, Lock, Unlock, Take, Release, Process
+
+@par Directory contents
+
+ - HSEM/HSEM_DualProcess_IT/Inc/stm32wbxx_it.h Interrupt handlers header file
+ - HSEM/HSEM_DualProcess_IT/Inc/main.h Header for main.c module
+ - HSEM/HSEM_DualProcess_IT/Inc/stm32_assert.h Template file to include assert_failed function
+ - HSEM/HSEM_DualProcess_IT/Src/stm32wbxx_it.c Interrupt handlers
+ - HSEM/HSEM_DualProcess_IT/Src/main.c Main program
+ - HSEM/HSEM_DualProcess_IT/Src/system_stm32wbxx.c STM32WBxx system source file
+
+@par Hardware and Software environment
+
+ - This example runs on STM32WB35CEUx devices.
+
+ - This example has been tested with NUCLEO-WB35CE board and can be
+ easily tailored to any other supported device and development board.
+
+@par How to use it ?
+
+In order to make the program work, you must do the following :
+ - Open your preferred toolchain
+ - Rebuild all files and load your image into target memory
+ - Run the example and observe the LED status
+
+ * <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
+ */