38
+ − 1 ///////////////////////////////////////////////////////////////////////////////
+ − 2 /// -*- coding: UTF-8 -*-
+ − 3 ///
+ − 4 /// \file Discovery/Inc/firmwareEraseProgram.h
+ − 5 /// \brief erase and program the STM32F4xx internal FLASH memory
+ − 6 /// \author heinrichs weikamp gmbh
+ − 7 /// \date 05-May-2015
+ − 8 ///
+ − 9 /// $Id$
+ − 10 ///////////////////////////////////////////////////////////////////////////////
+ − 11 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
+ − 12 ///
+ − 13 /// This program is free software: you can redistribute it and/or modify
+ − 14 /// it under the terms of the GNU General Public License as published by
+ − 15 /// the Free Software Foundation, either version 3 of the License, or
+ − 16 /// (at your option) any later version.
+ − 17 ///
+ − 18 /// This program is distributed in the hope that it will be useful,
+ − 19 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
+ − 20 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ − 21 /// GNU General Public License for more details.
+ − 22 ///
+ − 23 /// You should have received a copy of the GNU General Public License
+ − 24 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
+ − 25 //////////////////////////////////////////////////////////////////////////////
+ − 26
+ − 27 /* Define to prevent recursive inclusion -------------------------------------*/
+ − 28 #ifndef FIRMWARE_ERASE_PROGRAM_H
+ − 29 #define FIRMWARE_ERASE_PROGRAM_H
+ − 30
+ − 31 #ifdef __cplusplus
+ − 32 extern "C" {
+ − 33 #endif
+ − 34
+ − 35 /* Includes ------------------------------------------------------------------*/
+ − 36 #include "stm32f4xx_hal.h"
+ − 37
+ − 38 /* Exported variables --------------------------------------------------------*/
+ − 39 /* Exported types ------------------------------------------------------------*/
+ − 40
+ − 41 #define HARDWAREDATA_ADDRESS (0x08000000 + 0x0000A040)
+ − 42 /* Exported functions --------------------------------------------------------*/
+ − 43
+ − 44
+ − 45
+ − 46 uint8_t firmware_eraseFlashMemory(void);
+ − 47 uint8_t firmware_programFlashMemory(uint8_t *pBuffer1, uint32_t length1);//, uint8_t *pBuffer2, uint32_t length2)
+ − 48
+ − 49 uint8_t firmware2_variable_upperpart_eraseFlashMemory(uint32_t length, uint32_t offset);
+ − 50 uint8_t firmware2_variable_upperpart_programFlashMemory(uint32_t length, uint32_t offset, uint8_t *pBuffer1, uint32_t pBuffer1Size, uint8_t *pBuffer2);
+ − 51
+ − 52 uint8_t hardware_programmProductionData(uint8_t *buffer52); // uint16_t serial, uint16_t revision, uint8_t year, uint8_t month, uint8_t day, uint8_t sub, uint8_t *info[48]
+ − 53 uint8_t hardware_programmSecondarySerial(uint8_t *buffer12); // uint16_t serial, uint16_t reason, uint8_t year, uint8_t month, uint8_t day, uint8_t sub
+ − 54 uint8_t hardware_programmPrimaryBluetoothNameSet(void);
+ − 55 uint8_t hardware_programmSecondaryBluetoothNameSet(void);
+ − 56
+ − 57 #endif // FIRMWARE_ERASE_PROGRAM_H