rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Functions

Peripheral Errors functions. More...

Collaboration diagram for Peripheral State and Errors functions:

Functions

uint32_t HAL_FLASH_GetError (void)
 Get the specific FLASH error flag.
 
HAL_StatusTypeDef FLASH_WaitForLastOperation (uint32_t Timeout)
 Wait for a FLASH operation to complete.
 

Detailed Description

Peripheral Errors functions.

 ===============================================================================
                ##### Peripheral Errors functions #####
 ===============================================================================  
    [..]
    This subsection permits to get in run-time Errors of the FLASH peripheral.

Function Documentation

◆ FLASH_WaitForLastOperation()

HAL_StatusTypeDef FLASH_WaitForLastOperation ( uint32_t  Timeout)

Wait for a FLASH operation to complete.

Parameters
Timeoutmaximum flash operationtimeout
Return values
HALStatus

Definition at line 569 of file stm32f4xx_hal_flash.c.

570{
571 (void)Timeout;
572
573 /* Clear Error Code */
574 pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
575
576 /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset.
577 Even if the FLASH operation fails, the BUSY flag will be reset and an error
578 flag will be set */
579 /* Get tick */
580 // todo: implement rusEfi own timeout
581 // uint32_t tickstart = HAL_GetTick();
582
583 while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET)
584 {
585 /*
586 // todo: implement rusEfi own timeout
587 if(Timeout != HAL_MAX_DELAY)
588 {
589 if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout))
590 {
591 return HAL_TIMEOUT;
592 }
593 }
594 */
595 }
596
597 /* Check FLASH End of Operation flag */
598 if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP))
599 {
600 /* Clear FLASH End of Operation pending bit */
601 __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
602 }
603
604 if(__HAL_FLASH_GET_FLAG((FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \
605 FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR | FLASH_FLAG_RDERR)) != RESET)
606 {
607 /*Save the error code*/
609 return HAL_ERROR;
610 }
611
612 /* If there is no error flag set */
613 return HAL_OK;
614
615}
static void FLASH_SetErrorCode(void)
Set the specific FLASH error flag.
FLASH_ProcessTypeDef pFlash

◆ HAL_FLASH_GetError()

uint32_t HAL_FLASH_GetError ( void  )

Get the specific FLASH error flag.

Return values
FLASH_ErrorCodeThe returned value can be a combination of:
  • HAL_FLASH_ERROR_RD: FLASH Read Protection error flag (PCROP)
  • HAL_FLASH_ERROR_PGS: FLASH Programming Sequence error flag
  • HAL_FLASH_ERROR_PGP: FLASH Programming Parallelism error flag
  • HAL_FLASH_ERROR_PGA: FLASH Programming Alignment error flag
  • HAL_FLASH_ERROR_WRP: FLASH Write protected error flag
  • HAL_FLASH_ERROR_OPERATION: FLASH operation Error flag
FLASH_ErrorCodeThe returned value can be:
  • FLASH_ERROR_ERS: FLASH Erasing Sequence error flag
  • FLASH_ERROR_PGP: FLASH Programming Parallelism error flag
  • FLASH_ERROR_PGA: FLASH Programming Alignment error flag
  • FLASH_ERROR_WRP: FLASH Write protected error flag
  • FLASH_ERROR_OPERATION: FLASH operation Error flag
HAL_FLASH_ERRORCodeThe returned value can be:
  • HAL_FLASH_ERROR_NONE : No error set
  • HAL_FLASH_ERROR_WRP_BANK1 : Write Protection Error on Bank 1
  • HAL_FLASH_ERROR_PGS_BANK1 : Program Sequence Error on Bank 1
  • HAL_FLASH_ERROR_STRB_BANK1 : Strobe Error on Bank 1
  • HAL_FLASH_ERROR_INC_BANK1 : Inconsistency Error on Bank 1
  • HAL_FLASH_ERROR_OPE_BANK1 : Operation Error on Bank 1
  • HAL_FLASH_ERROR_RDP_BANK1 : Read Protection Error on Bank 1
  • HAL_FLASH_ERROR_RDS_BANK1 : Read Secured Error on Bank 1
  • HAL_FLASH_ERROR_SNECC_BANK1: ECC Single Correction Error on Bank 1
  • HAL_FLASH_ERROR_DBECC_BANK1: ECC Double Detection Error on Bank 1
  • HAL_FLASH_ERROR_CRCRD_BANK1: CRC Read Error on Bank 1
  • HAL_FLASH_ERROR_WRP_BANK2 : Write Protection Error on Bank 2
  • HAL_FLASH_ERROR_PGS_BANK2 : Program Sequence Error on Bank 2
  • HAL_FLASH_ERROR_STRB_BANK2 : Strobe Error on Bank 2
  • HAL_FLASH_ERROR_INC_BANK2 : Inconsistency Error on Bank 2
  • HAL_FLASH_ERROR_OPE_BANK2 : Operation Error on Bank 2
  • HAL_FLASH_ERROR_RDP_BANK2 : Read Protection Error on Bank 2
  • HAL_FLASH_ERROR_RDS_BANK2 : Read Secured Error on Bank 2
  • HAL_FLASH_ERROR_SNECC_BANK2: SNECC Error on Bank 2
  • HAL_FLASH_ERROR_DBECC_BANK2: Double Detection ECC on Bank 2
  • HAL_FLASH_ERROR_CRCRD_BANK2: CRC Read Error on Bank 2

Definition at line 555 of file stm32f4xx_hal_flash.c.

556{
557 return pFlash.ErrorCode;
558}