V2.2
This commit is contained in:
@@ -28,7 +28,6 @@
|
||||
#define CR_PAGE_PG ((uint32_t)0x00010000)
|
||||
#define CR_PAGE_ER ((uint32_t)0x00020000)
|
||||
#define CR_BER32 ((uint32_t)0x00040000)
|
||||
#define CR_BER64 ((uint32_t)0x00080000)
|
||||
#define CR_PG_STRT ((uint32_t)0x00200000)
|
||||
|
||||
/* FLASH Status Register bits */
|
||||
@@ -521,6 +520,7 @@ FLASH_Status FLASH_UserOptionByteConfig(uint16_t OB_IWDG, uint16_t OB_STOP, uint
|
||||
uint32_t Addr = 0x1FFFF800;
|
||||
__IO uint8_t i;
|
||||
uint16_t pbuf[8];
|
||||
uint16_t temp;
|
||||
|
||||
FLASH->OBKEYR = FLASH_KEY1;
|
||||
FLASH->OBKEYR = FLASH_KEY2;
|
||||
@@ -533,6 +533,8 @@ FLASH_Status FLASH_UserOptionByteConfig(uint16_t OB_IWDG, uint16_t OB_STOP, uint
|
||||
pbuf[i] = *(uint16_t *)(Addr + 2 * i);
|
||||
}
|
||||
|
||||
temp=pbuf[1]&(~0x7);
|
||||
|
||||
/* Erase optionbytes */
|
||||
FLASH->CTLR |= CR_OPTER_Set;
|
||||
FLASH->CTLR |= CR_STRT_Set;
|
||||
@@ -540,7 +542,7 @@ FLASH_Status FLASH_UserOptionByteConfig(uint16_t OB_IWDG, uint16_t OB_STOP, uint
|
||||
FLASH->CTLR &= ~CR_OPTER_Set;
|
||||
|
||||
/* Write optionbytes */
|
||||
pbuf[1] = OB_IWDG | (uint16_t)(OB_STOP | (uint16_t)(OB_STDBY | ((uint16_t)0xF8)));
|
||||
pbuf[1] = OB_IWDG | (uint16_t)(OB_STOP | (uint16_t)(OB_STDBY | ((uint16_t)temp)));
|
||||
|
||||
FLASH->CTLR |= CR_OPTPG_Set;
|
||||
for(i = 0; i < 8; i++){
|
||||
@@ -864,26 +866,6 @@ void FLASH_EraseBlock_32K_Fast(uint32_t Block_Address)
|
||||
FLASH->CTLR &= ~CR_BER32;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* @fn FLASH_EraseBlock_64K_Fast
|
||||
*
|
||||
* @brief Erases a specified FLASH Block (1Block = 64KByte).
|
||||
*
|
||||
* @param Block_Address - The block address to be erased.
|
||||
*
|
||||
* @return none
|
||||
*/
|
||||
void FLASH_EraseBlock_64K_Fast(uint32_t Block_Address)
|
||||
{
|
||||
Block_Address &= 0xFFFF0000;
|
||||
|
||||
FLASH->CTLR |= CR_BER64;
|
||||
FLASH->ADDR = Block_Address;
|
||||
FLASH->CTLR |= CR_STRT_Set;
|
||||
while(FLASH->STATR & SR_BSY);
|
||||
FLASH->CTLR &= ~CR_BER64;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* @fn FLASH_ProgramPage_Fast
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user