usbd_dfu_mal.h
81 lines
| 3.3 KiB
| text/x-c
|
CLexer
r44 | /** | |||
****************************************************************************** | ||||
* @file usbd_dfu_mal.h | ||||
* @author MCD Application Team | ||||
* @version V1.1.0 | ||||
* @date 19-March-2012 | ||||
* @brief Header for usbd_dfu_mal.c file. | ||||
****************************************************************************** | ||||
* @attention | ||||
* | ||||
* <h2><center>© COPYRIGHT 2012 STMicroelectronics</center></h2> | ||||
* | ||||
* Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); | ||||
* You may not use this file except in compliance with the License. | ||||
* You may obtain a copy of the License at: | ||||
* | ||||
* http://www.st.com/software_license_agreement_liberty_v2 | ||||
* | ||||
* Unless required by applicable law or agreed to in writing, software | ||||
* distributed under the License is distributed on an "AS IS" BASIS, | ||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
* See the License for the specific language governing permissions and | ||||
* limitations under the License. | ||||
* | ||||
****************************************************************************** | ||||
*/ | ||||
/* Define to prevent recursive inclusion -------------------------------------*/ | ||||
#ifndef __DFU_MAL_H | ||||
#define __DFU_MAL_H | ||||
/* Includes ------------------------------------------------------------------*/ | ||||
#include "usb_conf.h" | ||||
#include "usbd_conf.h" | ||||
#include "usbd_dfu_core.h" | ||||
/* Exported types ------------------------------------------------------------*/ | ||||
typedef struct _DFU_MAL_PROP | ||||
{ | ||||
const uint8_t* pStrDesc; | ||||
uint16_t (*pMAL_Init) (void); | ||||
uint16_t (*pMAL_DeInit) (void); | ||||
uint16_t (*pMAL_Erase) (uint32_t Add); | ||||
uint16_t (*pMAL_Write) (uint32_t Add, uint32_t Len); | ||||
uint8_t *(*pMAL_Read) (uint32_t Add, uint32_t Len); | ||||
uint16_t (*pMAL_CheckAdd) (uint32_t Add); | ||||
const uint32_t EraseTiming; | ||||
const uint32_t WriteTiming; | ||||
} | ||||
DFU_MAL_Prop_TypeDef; | ||||
/* Exported constants --------------------------------------------------------*/ | ||||
#define MAL_OK 0 | ||||
#define MAL_FAIL 1 | ||||
/* utils macro ---------------------------------------------------------------*/ | ||||
#define _1st_BYTE(x) (uint8_t)((x)&0xFF) /* 1st addressing cycle */ | ||||
#define _2nd_BYTE(x) (uint8_t)(((x)&0xFF00)>>8) /* 2nd addressing cycle */ | ||||
#define _3rd_BYTE(x) (uint8_t)(((x)&0xFF0000)>>16) /* 3rd addressing cycle */ | ||||
#define _4th_BYTE(x) (uint8_t)(((x)&0xFF000000)>>24) /* 4th addressing cycle */ | ||||
/* Exported macro ------------------------------------------------------------*/ | ||||
#define SET_POLLING_TIMING(x) buffer[1] = _1st_BYTE(x);\ | ||||
buffer[2] = _2nd_BYTE(x);\ | ||||
buffer[3] = _3rd_BYTE(x); | ||||
/* Exported functions ------------------------------------------------------- */ | ||||
uint16_t MAL_Init (void); | ||||
uint16_t MAL_DeInit (void); | ||||
uint16_t MAL_Erase (uint32_t SectorAddress); | ||||
uint16_t MAL_Write (uint32_t SectorAddress, uint32_t DataLength); | ||||
uint8_t *MAL_Read (uint32_t SectorAddress, uint32_t DataLength); | ||||
uint16_t MAL_GetStatus(uint32_t SectorAddress ,uint8_t Cmd, uint8_t *buffer); | ||||
extern uint8_t MAL_Buffer[XFERSIZE]; /* RAM Buffer for Downloaded Data */ | ||||
#endif /* __DFU_MAL_H */ | ||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ | ||||