Select one of the symbols to view example projects that use it.
 
Outline
#define __FLASH_IF_H
Includes
#include "stm32f4xx_hal.h"
Exported constants
#define ADDR_FLASH_SECTOR_0
#define ADDR_FLASH_SECTOR_1
#define ADDR_FLASH_SECTOR_2
#define ADDR_FLASH_SECTOR_3
#define ADDR_FLASH_SECTOR_4
#define ADDR_FLASH_SECTOR_5
#define ADDR_FLASH_SECTOR_6
#define ADDR_FLASH_SECTOR_7
#define ADDR_FLASH_SECTOR_8
#define ADDR_FLASH_SECTOR_9
#define ADDR_FLASH_SECTOR_10
#define ADDR_FLASH_SECTOR_11
<anonymous enum>
<anonymous enum>
#define USER_FLASH_END_ADDRESS
#define USER_FLASH_SIZE
#define APPLICATION_ADDRESS
Exported functions
FLASH_If_Init();
FLASH_If_Erase(uint32_t);
FLASH_If_Write(uint32_t, uint32_t *, uint32_t);
FLASH_If_GetWriteProtectionStatus();
FLASH_If_WriteProtectionConfig(uint32_t);
Files
loading...
CodeScopeSTM32 Libraries and SamplesIAP_Maininc/flash_if.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/** ****************************************************************************** * @file IAP/IAP_Main/Inc/flash_if.h * @author MCD Application Team * @brief This file provides all the headers of the flash_if functions. ****************************************************************************** * @attention * * Copyright (c) 2017 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** *//* ... */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __FLASH_IF_H #define __FLASH_IF_H /* Includes ------------------------------------------------------------------*/ #include "stm32f4xx_hal.h" Includes /* Exported types ------------------------------------------------------------*/ /* Exported constants --------------------------------------------------------*/ /* Base address of the Flash sectors */ #define ADDR_FLASH_SECTOR_0 ((uint32_t)0x08000000) /* Base @ of Sector 0, 16 Kbyte */ #define ADDR_FLASH_SECTOR_1 ((uint32_t)0x08004000) /* Base @ of Sector 1, 16 Kbyte */ #define ADDR_FLASH_SECTOR_2 ((uint32_t)0x08008000) /* Base @ of Sector 2, 16 Kbyte */ #define ADDR_FLASH_SECTOR_3 ((uint32_t)0x0800C000) /* Base @ of Sector 3, 16 Kbyte */ #define ADDR_FLASH_SECTOR_4 ((uint32_t)0x08010000) /* Base @ of Sector 4, 64 Kbyte */ #define ADDR_FLASH_SECTOR_5 ((uint32_t)0x08020000) /* Base @ of Sector 5, 128 Kbyte */ #define ADDR_FLASH_SECTOR_6 ((uint32_t)0x08040000) /* Base @ of Sector 6, 128 Kbyte */ #define ADDR_FLASH_SECTOR_7 ((uint32_t)0x08060000) /* Base @ of Sector 7, 128 Kbyte */ #define ADDR_FLASH_SECTOR_8 ((uint32_t)0x08080000) /* Base @ of Sector 8, 128 Kbyte */ #define ADDR_FLASH_SECTOR_9 ((uint32_t)0x080A0000) /* Base @ of Sector 9, 128 Kbyte */ #define ADDR_FLASH_SECTOR_10 ((uint32_t)0x080C0000) /* Base @ of Sector 10, 128 Kbyte */ #define ADDR_FLASH_SECTOR_11 ((uint32_t)0x080E0000) /* Base @ of Sector 11, 128 Kbyte */ 12 defines /* Error code */ enum { FLASHIF_OK = 0, FLASHIF_ERASEKO, FLASHIF_WRITINGCTRL_ERROR, FLASHIF_WRITING_ERROR ...}; enum{ FLASHIF_PROTECTION_NONE = 0, FLASHIF_PROTECTION_PCROPENABLED = 0x1, FLASHIF_PROTECTION_WRPENABLED = 0x2, FLASHIF_PROTECTION_RDPENABLED = 0x4, ...}; /* End of the Flash address */ #define USER_FLASH_END_ADDRESS 0x080FFFFF /* Define the user application size */ #define USER_FLASH_SIZE (USER_FLASH_END_ADDRESS - APPLICATION_ADDRESS + 1) /* Define the address from where user application will be loaded. Note: the 1st sector 0x08000000-0x08003FFF is reserved for the IAP code *//* ... */ #define APPLICATION_ADDRESS (uint32_t)0x08008000 /* Define bitmap representing user flash area that could be write protected (check restricted to pages 8-39). */ #define FLASH_SECTOR_TO_BE_PROTECTED (OB_WRP_SECTOR_0 | OB_WRP_SECTOR_1 | OB_WRP_SECTOR_2 | OB_WRP_SECTOR_3 |\ OB_WRP_SECTOR_4 | OB_WRP_SECTOR_5 | OB_WRP_SECTOR_6 | OB_WRP_SECTOR_7 |\ OB_WRP_SECTOR_8 | OB_WRP_SECTOR_9 | OB_WRP_SECTOR_10 | OB_WRP_SECTOR_11 )... Exported constants /* Exported macro ------------------------------------------------------------*/ /* Exported functions ------------------------------------------------------- */ void FLASH_If_Init(void); uint32_t FLASH_If_Erase(uint32_t StartSector); uint32_t FLASH_If_Write(uint32_t FlashAddress, uint32_t* Data, uint32_t DataLength); uint16_t FLASH_If_GetWriteProtectionStatus(void); HAL_StatusTypeDef FLASH_If_WriteProtectionConfig(uint32_t modifier); Exported functions /* ... */#endif /* __FLASH_IF_H */