Laridium_v49/Core/Inc/MY_FLASH.h
2024-10-09 23:15:27 +05:30

43 lines
1.3 KiB
C

/*
Library: STM32F40x Internal FLASH read/write
Written by: Mohamed Yaqoob (MYaqoobEmbedded YouTube Channel)
Last modified: 15/03/2019
Description:
MY_FLASH library implements the following basic functionalities
- Set sectos address
- Flash Sector Erase
- Flash Write
- Flash Read
* Copyright (C) 2019 - M. Yaqoob
This is a free software under the GNU license, you can redistribute it and/or modify it under the terms
of the GNU General Public Licenseversion 3 as published by the Free Software Foundation.
This software library is shared with puplic for educational purposes, without WARRANTY and Author is not liable for any damages caused directly
or indirectly by this software, read more about this on the GNU General Public License.
*/
#include "stm32f4xx_hal.h"
//Typedefs
//1. data size
typedef enum
{
DATA_TYPE_8=0,
DATA_TYPE_16,
DATA_TYPE_32,
}DataTypeDef;
//functions prototypes
//1. Erase Sector
static void MY_FLASH_EraseSector(void);
//2. Set Sector Adress
void MY_FLASH_SetSectorAddrs(uint8_t sector, uint32_t addrs);
//3. Write Flash
void MY_FLASH_WriteN(uint32_t idx, void *wrBuf, uint32_t Nsize, DataTypeDef dataType);
//4. Read Flash
void MY_FLASH_ReadN(uint32_t idx, void *rdBuf, uint32_t Nsize, DataTypeDef dataType);