23#include "px_stm32cube.h"
45 primask = __get_PRIMASK();
47 px_interrupts_disable();
49 FLASH->PEKEYR = 0x89abcdef;
50 FLASH->PEKEYR = 0x02030405;
52 __set_PRIMASK(primask);
60 primask = __get_PRIMASK();
62 px_interrupts_disable();
64 FLASH->PECR |= FLASH_PECR_PELOCK;
66 __set_PRIMASK(primask);
74 primask = __get_PRIMASK();
76 px_interrupts_disable();
78 FLASH->PECR |= (FLASH_PECR_ERASE | FLASH_PECR_DATA);
80 *(uint32_t *)address = (uint32_t)0;
82 while((FLASH->SR & FLASH_SR_BSY) != 0) {;}
84 if((FLASH->SR & FLASH_SR_EOP) != 0)
87 FLASH->SR = FLASH_SR_EOP;
90 FLASH->PECR &= ~(FLASH_PECR_ERASE | FLASH_PECR_DATA);
92 __set_PRIMASK(primask);
#define PX_LOG_NAME(name)
Macro to declare a log name string once for each file to reduce code size.
PX_ATTR_RAMFUNC void px_eeprom_lock(void)
Lock EEPROM to prevent programming or erase.
PX_ATTR_RAMFUNC void px_eeprom_unlock(void)
Unlock EEPROM for programming and erase.
PX_ATTR_RAMFUNC void px_eeprom_erase_word(const uint32_t address)
Function to erase a word (not really required).