STM32F439xx HAL User Manual
Data Structures | Defines | Enumerations | Functions
stm32f4xx_hal_pccard.h File Reference

Header file of PCCARD HAL module. More...

#include "stm32f4xx_ll_fmc.h"

Go to the source code of this file.

Data Structures

struct  PCCARD_HandleTypeDef
 FMC_PCCARD handle Structure definition. More...

Defines

#define __HAL_PCCARD_RESET_HANDLE_STATE(__HANDLE__)   ((__HANDLE__)->State = HAL_PCCARD_STATE_RESET)
 Reset PCCARD handle state.
#define PCCARD_DEVICE_ADDRESS   0x90000000U
#define PCCARD_ATTRIBUTE_SPACE_ADDRESS   0x98000000U /* Attribute space size to @0x9BFF FFFF */
#define PCCARD_COMMON_SPACE_ADDRESS   PCCARD_DEVICE_ADDRESS /* Common space size to @0x93FF FFFF */
#define PCCARD_IO_SPACE_ADDRESS   0x9C000000U /* IO space size to @0x9FFF FFFF */
#define PCCARD_IO_SPACE_PRIMARY_ADDR   0x9C0001F0U /* IO space size to @0x9FFF FFFF */
#define ATA_DATA   ((uint8_t)0x00) /* Data register */
#define ATA_SECTOR_COUNT   ((uint8_t)0x02) /* Sector Count register */
#define ATA_SECTOR_NUMBER   ((uint8_t)0x03) /* Sector Number register */
#define ATA_CYLINDER_LOW   ((uint8_t)0x04) /* Cylinder low register */
#define ATA_CYLINDER_HIGH   ((uint8_t)0x05) /* Cylinder high register */
#define ATA_CARD_HEAD   ((uint8_t)0x06) /* Card/Head register */
#define ATA_STATUS_CMD   ((uint8_t)0x07) /* Status(read)/Command(write) register */
#define ATA_STATUS_CMD_ALTERNATE   ((uint8_t)0x0E) /* Alternate Status(read)/Command(write) register */
#define ATA_COMMON_DATA_AREA   ((uint16_t)0x0400) /* Start of data area (for Common access only!) */
#define ATA_CARD_CONFIGURATION   ((uint16_t)0x0202) /* Card Configuration and Status Register */
#define ATA_READ_SECTOR_CMD   ((uint8_t)0x20)
#define ATA_WRITE_SECTOR_CMD   ((uint8_t)0x30)
#define ATA_ERASE_SECTOR_CMD   ((uint8_t)0xC0)
#define ATA_IDENTIFY_CMD   ((uint8_t)0xEC)
#define PCCARD_TIMEOUT_ERROR   ((uint8_t)0x60)
#define PCCARD_BUSY   ((uint8_t)0x80)
#define PCCARD_PROGR   ((uint8_t)0x01)
#define PCCARD_READY   ((uint8_t)0x40)
#define PCCARD_SECTOR_SIZE   255U /* In half words */
#define HAL_CF_Init   HAL_PCCARD_Init
#define HAL_CF_DeInit   HAL_PCCARD_DeInit
#define HAL_CF_MspInit   HAL_PCCARD_MspInit
#define HAL_CF_MspDeInit   HAL_PCCARD_MspDeInit
#define HAL_CF_Read_ID   HAL_PCCARD_Read_ID
#define HAL_CF_Write_Sector   HAL_PCCARD_Write_Sector
#define HAL_CF_Read_Sector   HAL_PCCARD_Read_Sector
#define HAL_CF_Erase_Sector   HAL_PCCARD_Erase_Sector
#define HAL_CF_Reset   HAL_PCCARD_Reset
#define HAL_CF_IRQHandler   HAL_PCCARD_IRQHandler
#define HAL_CF_ITCallback   HAL_PCCARD_ITCallback
#define HAL_CF_GetState   HAL_PCCARD_GetState
#define HAL_CF_GetStatus   HAL_PCCARD_GetStatus
#define HAL_CF_ReadStatus   HAL_PCCARD_ReadStatus
#define HAL_CF_STATUS_SUCCESS   HAL_PCCARD_STATUS_SUCCESS
#define HAL_CF_STATUS_ONGOING   HAL_PCCARD_STATUS_ONGOING
#define HAL_CF_STATUS_ERROR   HAL_PCCARD_STATUS_ERROR
#define HAL_CF_STATUS_TIMEOUT   HAL_PCCARD_STATUS_TIMEOUT
#define HAL_CF_StatusTypeDef   HAL_PCCARD_StatusTypeDef
#define CF_DEVICE_ADDRESS   PCCARD_DEVICE_ADDRESS
#define CF_ATTRIBUTE_SPACE_ADDRESS   PCCARD_ATTRIBUTE_SPACE_ADDRESS
#define CF_COMMON_SPACE_ADDRESS   PCCARD_COMMON_SPACE_ADDRESS
#define CF_IO_SPACE_ADDRESS   PCCARD_IO_SPACE_ADDRESS
#define CF_IO_SPACE_PRIMARY_ADDR   PCCARD_IO_SPACE_PRIMARY_ADDR
#define CF_TIMEOUT_ERROR   PCCARD_TIMEOUT_ERROR
#define CF_BUSY   PCCARD_BUSY
#define CF_PROGR   PCCARD_PROGR
#define CF_READY   PCCARD_READY
#define CF_SECTOR_SIZE   PCCARD_SECTOR_SIZE

Enumerations

enum  HAL_PCCARD_StateTypeDef { HAL_PCCARD_STATE_RESET = 0x00U, HAL_PCCARD_STATE_READY = 0x01U, HAL_PCCARD_STATE_BUSY = 0x02U, HAL_PCCARD_STATE_ERROR = 0x04U }
 HAL PCCARD State structures definition. More...
enum  HAL_PCCARD_StatusTypeDef { HAL_PCCARD_STATUS_SUCCESS = 0U, HAL_PCCARD_STATUS_ONGOING, HAL_PCCARD_STATUS_ERROR, HAL_PCCARD_STATUS_TIMEOUT }

Functions

HAL_StatusTypeDef HAL_PCCARD_Init (PCCARD_HandleTypeDef *hpccard, FMC_NAND_PCC_TimingTypeDef *ComSpaceTiming, FMC_NAND_PCC_TimingTypeDef *AttSpaceTiming, FMC_NAND_PCC_TimingTypeDef *IOSpaceTiming)
 Perform the PCCARD memory Initialization sequence.
HAL_StatusTypeDef HAL_PCCARD_DeInit (PCCARD_HandleTypeDef *hpccard)
 Perform the PCCARD memory De-initialization sequence.
__weak void HAL_PCCARD_MspInit (PCCARD_HandleTypeDef *hpccard)
 PCCARD MSP Init.
__weak void HAL_PCCARD_MspDeInit (PCCARD_HandleTypeDef *hpccard)
 PCCARD MSP DeInit.
HAL_StatusTypeDef HAL_PCCARD_Read_ID (PCCARD_HandleTypeDef *hpccard, uint8_t CompactFlash_ID[], uint8_t *pStatus)
 Read Compact Flash's ID.
HAL_StatusTypeDef HAL_PCCARD_Write_Sector (PCCARD_HandleTypeDef *hpccard, uint16_t *pBuffer, uint16_t SectorAddress, uint8_t *pStatus)
 Write sector to PCCARD memory.
HAL_StatusTypeDef HAL_PCCARD_Read_Sector (PCCARD_HandleTypeDef *hpccard, uint16_t *pBuffer, uint16_t SectorAddress, uint8_t *pStatus)
 Read sector from PCCARD memory.
HAL_StatusTypeDef HAL_PCCARD_Erase_Sector (PCCARD_HandleTypeDef *hpccard, uint16_t SectorAddress, uint8_t *pStatus)
 Erase sector from PCCARD memory.
HAL_StatusTypeDef HAL_PCCARD_Reset (PCCARD_HandleTypeDef *hpccard)
 Reset the PCCARD memory.
void HAL_PCCARD_IRQHandler (PCCARD_HandleTypeDef *hpccard)
 This function handles PCCARD device interrupt request.
__weak void HAL_PCCARD_ITCallback (PCCARD_HandleTypeDef *hpccard)
 PCCARD interrupt feature callback.
HAL_PCCARD_StateTypeDef HAL_PCCARD_GetState (PCCARD_HandleTypeDef *hpccard)
 return the PCCARD controller state
HAL_PCCARD_StatusTypeDef HAL_PCCARD_GetStatus (PCCARD_HandleTypeDef *hpccard)
 Get the compact flash memory status.
HAL_PCCARD_StatusTypeDef HAL_PCCARD_ReadStatus (PCCARD_HandleTypeDef *hpccard)
 Reads the Compact Flash memory status using the Read status command.

Detailed Description

Header file of PCCARD HAL module.

Author:
MCD Application Team
Attention:

© COPYRIGHT(c) 2017 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file stm32f4xx_hal_pccard.h.