Subversion Repositories FuelGauge

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 6
Line 123... Line 123...
123
  ==============================================================================
123
  ==============================================================================
124
                ##### FLASH Erasing Programming functions #####
124
                ##### FLASH Erasing Programming functions #####
125
  ==============================================================================
125
  ==============================================================================
126
 
126
 
127
    [..] The FLASH Memory Erasing functions, includes the following functions:
127
    [..] The FLASH Memory Erasing functions, includes the following functions:
128
    (+) @ref HAL_FLASHEx_Erase: return only when erase has been done
128
    (+) HAL_FLASHEx_Erase: return only when erase has been done
129
    (+) @ref HAL_FLASHEx_Erase_IT: end of erase is done when @ref HAL_FLASH_EndOfOperationCallback
129
    (+) HAL_FLASHEx_Erase_IT: end of erase is done when HAL_FLASH_EndOfOperationCallback
130
        is called with parameter 0xFFFFFFFF
130
        is called with parameter 0xFFFFFFFF
131
 
131
 
132
    [..] Any operation of erase should follow these steps:
132
    [..] Any operation of erase should follow these steps:
133
    (#) Call the @ref HAL_FLASH_Unlock() function to enable the flash control register and
133
    (#) Call the HAL_FLASH_Unlock() function to enable the flash control register and
134
        program memory access.
134
        program memory access.
135
    (#) Call the desired function to erase page.
135
    (#) Call the desired function to erase page.
136
    (#) Call the @ref HAL_FLASH_Lock() to disable the flash program memory access
136
    (#) Call the HAL_FLASH_Lock() to disable the flash program memory access
137
       (recommended to protect the FLASH memory against possible unwanted operation).
137
       (recommended to protect the FLASH memory against possible unwanted operation).
138
 
138
 
139
@endverbatim
139
@endverbatim
140
  * @{
140
  * @{
141
  */
141
  */
Line 692... Line 692...
692
      SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
692
      SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
693
 
693
 
694
#if defined(OB_WRP0_WRP0)
694
#if defined(OB_WRP0_WRP0)
695
      if(WRP0_Data != 0xFFU)
695
      if(WRP0_Data != 0xFFU)
696
      {
696
      {
697
        OB->WRP0 |= WRP0_Data;
697
        OB->WRP0 &= WRP0_Data;
698
       
698
       
699
        /* Wait for last operation to be completed */
699
        /* Wait for last operation to be completed */
700
        status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
700
        status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
701
      }
701
      }
702
#endif /* OB_WRP0_WRP0 */
702
#endif /* OB_WRP0_WRP0 */
703
 
703
 
704
#if defined(OB_WRP1_WRP1)
704
#if defined(OB_WRP1_WRP1)
705
      if((status == HAL_OK) && (WRP1_Data != 0xFFU))
705
      if((status == HAL_OK) && (WRP1_Data != 0xFFU))
706
      {
706
      {
707
        OB->WRP1 |= WRP1_Data;
707
        OB->WRP1 &= WRP1_Data;
708
       
708
       
709
        /* Wait for last operation to be completed */
709
        /* Wait for last operation to be completed */
710
        status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
710
        status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
711
      }
711
      }
712
#endif /* OB_WRP1_WRP1 */
712
#endif /* OB_WRP1_WRP1 */
713
 
713
 
714
#if defined(OB_WRP2_WRP2)
714
#if defined(OB_WRP2_WRP2)
715
      if((status == HAL_OK) && (WRP2_Data != 0xFFU))
715
      if((status == HAL_OK) && (WRP2_Data != 0xFFU))
716
      {
716
      {
717
        OB->WRP2 |= WRP2_Data;
717
        OB->WRP2 &= WRP2_Data;
718
       
718
       
719
        /* Wait for last operation to be completed */
719
        /* Wait for last operation to be completed */
720
        status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
720
        status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
721
      }
721
      }
722
#endif /* OB_WRP2_WRP2 */
722
#endif /* OB_WRP2_WRP2 */
723
 
723
 
724
#if defined(OB_WRP3_WRP3)
724
#if defined(OB_WRP3_WRP3)
725
      if((status == HAL_OK) && (WRP3_Data != 0xFFU))
725
      if((status == HAL_OK) && (WRP3_Data != 0xFFU))
726
      {
726
      {
727
        OB->WRP3 |= WRP3_Data;
727
        OB->WRP3 &= WRP3_Data;
728
       
728
       
729
        /* Wait for last operation to be completed */
729
        /* Wait for last operation to be completed */
730
        status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
730
        status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
731
      }
731
      }
732
#endif /* OB_WRP3_WRP3 */
732
#endif /* OB_WRP3_WRP3 */