Index: trunk/firmware/App/CubeMX/Appli/Core/Inc/main.h
===================================================================
--- trunk/firmware/App/CubeMX/Appli/Core/Inc/main.h	(revision 23)
+++ trunk/firmware/App/CubeMX/Appli/Core/Inc/main.h	(revision 24)
@@ -76,4 +76,6 @@
 
 /* Private defines -----------------------------------------------------------*/
+#define LED_GREEN_Pin GPIO_PIN_0
+#define LED_GREEN_GPIO_Port GPIOG
 
 /* USER CODE BEGIN Private defines */
Index: trunk/firmware/App/CubeMX/Appli/Core/Inc/stm32n6xx_hal_conf.h
===================================================================
--- trunk/firmware/App/CubeMX/Appli/Core/Inc/stm32n6xx_hal_conf.h	(revision 23)
+++ trunk/firmware/App/CubeMX/Appli/Core/Inc/stm32n6xx_hal_conf.h	(revision 24)
@@ -36,5 +36,5 @@
 #define HAL_MODULE_ENABLED
 /*#define HAL_ADC_MODULE_ENABLED   */
-/*#define HAL_BSEC_MODULE_ENABLED   */
+#define HAL_BSEC_MODULE_ENABLED
 /*#define HAL_CRC_MODULE_ENABLED   */
 /*#define HAL_CRYP_MODULE_ENABLED   */
@@ -68,5 +68,5 @@
 /*#define HAL_PSSI_MODULE_ENABLED   */
 /*#define HAL_RAMCFG_MODULE_ENABLED   */
-/*#define HAL_RIF_MODULE_ENABLED   */
+#define HAL_RIF_MODULE_ENABLED
 /*#define HAL_RNG_MODULE_ENABLED   */
 /*#define HAL_RTC_MODULE_ENABLED   */
Index: trunk/firmware/App/CubeMX/Appli/Core/Src/gpio.c
===================================================================
--- trunk/firmware/App/CubeMX/Appli/Core/Src/gpio.c	(revision 23)
+++ trunk/firmware/App/CubeMX/Appli/Core/Src/gpio.c	(revision 24)
@@ -44,148 +44,17 @@
 
   /* GPIO Ports Clock Enable */
-  __HAL_RCC_GPIOQ_CLK_ENABLE();
-  __HAL_RCC_GPIOC_CLK_ENABLE();
-  __HAL_RCC_GPIOE_CLK_ENABLE();
-  __HAL_RCC_GPIOD_CLK_ENABLE();
-  __HAL_RCC_GPIOH_CLK_ENABLE();
+  __HAL_RCC_GPIOG_CLK_ENABLE();
+  __HAL_RCC_GPIOA_CLK_ENABLE();
   __HAL_RCC_GPIOB_CLK_ENABLE();
-  __HAL_RCC_GPIOP_CLK_ENABLE();
-  __HAL_RCC_GPIOO_CLK_ENABLE();
-  __HAL_RCC_GPIOG_CLK_ENABLE();
-  __HAL_RCC_GPIOF_CLK_ENABLE();
-  __HAL_RCC_GPION_CLK_ENABLE();
-  __HAL_RCC_GPIOA_CLK_ENABLE();
 
-  /*Configure GPIO pins : PQ6 PQ3 PQ4 PQ5
-                           PQ2 PQ1 PQ0 PQ7 */
-  GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5
-                          |GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_7;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
+  /*Configure GPIO pin Output Level */
+  HAL_GPIO_WritePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin, GPIO_PIN_RESET);
+
+  /*Configure GPIO pin : LED_GREEN_Pin */
+  GPIO_InitStruct.Pin = LED_GREEN_Pin;
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
   GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPIOQ, &GPIO_InitStruct);
-
-  /*Configure GPIO pins : PC10 PC1 PC4 PC11
-                           PC6 PC5 PC9 PC12
-                           PC7 PC0 PC8 PC2
-                           PC3 PC13 */
-  GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_11
-                          |GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_9|GPIO_PIN_12
-                          |GPIO_PIN_7|GPIO_PIN_0|GPIO_PIN_8|GPIO_PIN_2
-                          |GPIO_PIN_3|GPIO_PIN_13;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
-
-  /*Configure GPIO pins : PE13 PE15 PE8 PE9
-                           PE14 PE12 PE7 PE10
-                           PE5 PE4 PE6 PE11
-                           PE3 PE2 PE0 PE1 */
-  GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_15|GPIO_PIN_8|GPIO_PIN_9
-                          |GPIO_PIN_14|GPIO_PIN_12|GPIO_PIN_7|GPIO_PIN_10
-                          |GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_11
-                          |GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
-
-  /*Configure GPIO pins : PD10 PD1 PD15 PD4
-                           PD2 PD12 PD14 PD13
-                           PD6 PD0 PD5 PD7
-                           PD3 PD8 PD11 PD9 */
-  GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_1|GPIO_PIN_15|GPIO_PIN_4
-                          |GPIO_PIN_2|GPIO_PIN_12|GPIO_PIN_14|GPIO_PIN_13
-                          |GPIO_PIN_6|GPIO_PIN_0|GPIO_PIN_5|GPIO_PIN_7
-                          |GPIO_PIN_3|GPIO_PIN_8|GPIO_PIN_11|GPIO_PIN_9;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
-
-  /*Configure GPIO pins : PH3 PH6 PH8 PH7
-                           PH9 PH2 PH4 PH5 */
-  GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_6|GPIO_PIN_8|GPIO_PIN_7
-                          |GPIO_PIN_9|GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
-
-  /*Configure GPIO pins : PB14 PB13 PB2 PB9
-                           PB8 PB15 PB0 PB7
-                           PB6 PB3 PB11 PB12
-                           PB1 PB4 PB10 PB5 */
-  GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_13|GPIO_PIN_2|GPIO_PIN_9
-                          |GPIO_PIN_8|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_7
-                          |GPIO_PIN_6|GPIO_PIN_3|GPIO_PIN_11|GPIO_PIN_12
-                          |GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_10|GPIO_PIN_5;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-
-  /*Configure GPIO pins : PP7 PP6 PP0 PP4
-                           PP1 PP15 PP5 PP12
-                           PP3 PP2 PP13 PP11
-                           PP8 PP14 PP9 PP10 */
-  GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_0|GPIO_PIN_4
-                          |GPIO_PIN_1|GPIO_PIN_15|GPIO_PIN_5|GPIO_PIN_12
-                          |GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_13|GPIO_PIN_11
-                          |GPIO_PIN_8|GPIO_PIN_14|GPIO_PIN_9|GPIO_PIN_10;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPIOP, &GPIO_InitStruct);
-
-  /*Configure GPIO pins : PO5 PO1 PO2 PO3
-                           PO0 PO4 */
-  GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
-                          |GPIO_PIN_0|GPIO_PIN_4;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPIOO, &GPIO_InitStruct);
-
-  /*Configure GPIO pins : PG7 PG6 PG5 PG4
-                           PG14 PG3 PG15 PG1
-                           PG0 PG12 PG10 PG2
-                           PG9 PG8 PG13 PG11 */
-  GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4
-                          |GPIO_PIN_14|GPIO_PIN_3|GPIO_PIN_15|GPIO_PIN_1
-                          |GPIO_PIN_0|GPIO_PIN_12|GPIO_PIN_10|GPIO_PIN_2
-                          |GPIO_PIN_9|GPIO_PIN_8|GPIO_PIN_13|GPIO_PIN_11;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
-
-  /*Configure GPIO pins : PF4 PF10 PF6 PF7
-                           PF3 PF5 PF15 PF14
-                           PF8 PF2 PF9 PF11
-                           PF1 PF13 PF0 PF12 */
-  GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_10|GPIO_PIN_6|GPIO_PIN_7
-                          |GPIO_PIN_3|GPIO_PIN_5|GPIO_PIN_15|GPIO_PIN_14
-                          |GPIO_PIN_8|GPIO_PIN_2|GPIO_PIN_9|GPIO_PIN_11
-                          |GPIO_PIN_1|GPIO_PIN_13|GPIO_PIN_0|GPIO_PIN_12;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
-
-  /*Configure GPIO pins : PN4 PN12 PN6 PN8
-                           PN0 PN3 PN5 PN1
-                           PN9 PN7 PN2 PN10
-                           PN11 */
-  GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_12|GPIO_PIN_6|GPIO_PIN_8
-                          |GPIO_PIN_0|GPIO_PIN_3|GPIO_PIN_5|GPIO_PIN_1
-                          |GPIO_PIN_9|GPIO_PIN_7|GPIO_PIN_2|GPIO_PIN_10
-                          |GPIO_PIN_11;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPION, &GPIO_InitStruct);
-
-  /*Configure GPIO pins : PA9 PA6 PA1 PA15
-                           PA10 PA5 PA7 PA3
-                           PA14 PA11 PA2 PA13
-                           PA12 PA8 PA0 PA4 */
-  GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_6|GPIO_PIN_1|GPIO_PIN_15
-                          |GPIO_PIN_10|GPIO_PIN_5|GPIO_PIN_7|GPIO_PIN_3
-                          |GPIO_PIN_14|GPIO_PIN_11|GPIO_PIN_2|GPIO_PIN_13
-                          |GPIO_PIN_12|GPIO_PIN_8|GPIO_PIN_0|GPIO_PIN_4;
-  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
-  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+  HAL_GPIO_Init(LED_GREEN_GPIO_Port, &GPIO_InitStruct);
 
 }
Index: trunk/firmware/App/CubeMX/Appli/Core/Src/main.c
===================================================================
--- trunk/firmware/App/CubeMX/Appli/Core/Src/main.c	(revision 23)
+++ trunk/firmware/App/CubeMX/Appli/Core/Src/main.c	(revision 24)
@@ -19,4 +19,5 @@
 /* Includes ------------------------------------------------------------------*/
 #include "main.h"
+#include "bsec.h"
 #include "gpio.h"
 
@@ -49,4 +50,5 @@
 /* Private function prototypes -----------------------------------------------*/
 static void MPU_Config(void);
+static void SystemIsolation_Config(void);
 /* USER CODE BEGIN PFP */
 
@@ -96,4 +98,6 @@
   /* Initialize all configured peripherals */
   MX_GPIO_Init();
+  MX_BSEC_Init();
+  SystemIsolation_Config();
   /* USER CODE BEGIN 2 */
 
@@ -104,4 +108,7 @@
   while (1)
   {
+
+	HAL_GPIO_TogglePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin);
+	HAL_Delay(1000U);
     /* USER CODE END WHILE */
 
@@ -109,4 +116,33 @@
   }
   /* USER CODE END 3 */
+}
+
+/**
+  * @brief RIF Initialization Function
+  * @param None
+  * @retval None
+  */
+  static void SystemIsolation_Config(void)
+{
+
+/* USER CODE BEGIN RIF_Init 0 */
+
+/* USER CODE END RIF_Init 0 */
+
+  /* set all required IPs as secure privileged */
+  __HAL_RCC_RIFSC_CLK_ENABLE();
+
+  /* RIF-Aware IPs Config */
+
+  /* set up GPIO configuration */
+  HAL_GPIO_ConfigPinAttributes(GPIOG,GPIO_PIN_0,GPIO_PIN_SEC|GPIO_PIN_NPRIV);
+
+/* USER CODE BEGIN RIF_Init 1 */
+
+/* USER CODE END RIF_Init 1 */
+/* USER CODE BEGIN RIF_Init 2 */
+
+/* USER CODE END RIF_Init 2 */
+
 }
 
