STM32 Bootloader
Customizable Bootloader for STM32 microcontrollers
flash.h
Go to the documentation of this file.
1 
16 #ifndef BSP_FLASH_H
17 #define BSP_FLASH_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
32 /* Includes ------------------------------------------------------------------*/
33 #include <stdbool.h>
34 #include <stdint.h>
35 
36 /* Defines -------------------------------------------------------------------*/
38 #define SYSTEM_MEMORY_ADDRESS 0x1FFF0000U
39 
40 /* Functions -----------------------------------------------------------------*/
41 
45 void FlashClearErrorFlags(void);
46 
56 bool FlashCheckIfDataFits(const uint32_t address, const uint32_t length);
57 
67 bool FlashCheckIfWriteProtectionEnabled(const uint32_t address,
68  const uint32_t length);
69 
79 
91 bool FlashEnableWriteProtection(const uint32_t address, const uint32_t length);
92 
109 bool FlashCompare(const uint8_t* const data,
110  const uint32_t address,
111  const uint32_t length);
112 
122 uint32_t FlashRead(uint8_t* const data,
123  const uint32_t address,
124  const uint32_t length);
125 
138 uint32_t FlashWrite(const uint8_t* const data,
139  const uint32_t address,
140  const uint32_t length);
141 
150 
157 #ifdef __cplusplus
158 }
159 #endif
160 
161 #endif
uint32_t FlashRead(uint8_t *const data, const uint32_t address, const uint32_t length)
Read data from the microcontroller flash.
Definition: flash.c:388
bool FlashEnableWriteProtection(const uint32_t address, const uint32_t length)
Enable flash write protection for the specified region.
Definition: flash.c:291
bool FlashCompare(const uint8_t *const data, const uint32_t address, const uint32_t length)
Compare buffer content with microcontroller flash content.
Definition: flash.c:367
void FlashRemapMemoryToSystemFlash(void)
Remap the microcontroller flash memory to the built-in system flash memory.
Definition: flash.c:445
bool FlashCheckIfWriteProtectionEnabled(const uint32_t address, const uint32_t length)
Check if flash write protection is enabled for the specified region.
Definition: flash.c:147
uint32_t FlashWrite(const uint8_t *const data, const uint32_t address, const uint32_t length)
Write data into the microcontroller flash.
Definition: flash.c:412
bool FlashCheckIfDataFits(const uint32_t address, const uint32_t length)
Check if an array of data fits into the flash.
Definition: flash.c:141
void FlashClearErrorFlags(void)
Clear all flash error flags.
Definition: flash.c:133
bool FlashDisableWriteProtection(void)
Disable flash write protection for the application area.
Definition: flash.c:224