123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /**
- * @Author: 李建
- * @Date: 2024/8/12 13:21
- * Description:
- * Copyright: Copyright (©) 2024 永续绿建. All rights reserved.
- */
- #ifndef ERV_HUMIDIFICATION_BOARD_FLASH_H
- #define ERV_HUMIDIFICATION_BOARD_FLASH_H
- #include "main.h"
- #define SLAVE_ADDRESS (uint32_t)0x0800FC00 //FLASH地址,第64页首地址,每次擦除最少一页
- #ifdef FLASH_BASE
- #undef FLASH_BASE
- #define FLASH_BASE 0x08000000U
- #endif
- #ifdef FLASH_PAGE_SIZE
- #undef FLASH_PAGE_SIZE
- #define FLASH_PAGE_SIZE 1024 //byte
- #endif
- //flash物理地址(绝对地址)与扇区编号转换
- //例如0x8006000转换成24
- #define FLASH_PAGE_TO_ADDR(page) ((uint32_t)(FLASH_BASE+(FLASH_PAGE_SIZE)*(page))) /* Base @ of page address*/
- #define ADDR_TO_FLASH_PAGE(addr) (((addr)-FLASH_BASE)/(FLASH_PAGE_SIZE))
- #define FLASH_USER_START_ADDR FLASH_PAGE_TO_ADDR(24) /* Start @ of user Flash area */
- #define FLASH_USER_END_ADDR FLASH_PAGE_TO_ADDR(34) /* End @ of user Flash area */
- typedef enum
- {
- FLASH_SUCCESS = 0,
- FLASH_PARAM_ERROR,
- FLASH_ADDR_ERROR,
- FLASH_WRITE_WORD_ERROR,
- FLASH_WRITE_HALF_WORD_ERROR,
- FLASH_WRITE_BYTE_ERROR,
- FLASH_READ_ERROR,
- FLASH_ERASE_ERROR,
- } FLASH_ERROR_CODE_E;
- FLASH_ERROR_CODE_E flash_write(uint32_t address, const uint8_t* pdata, uint32_t size);
- uint32_t flash_read ( uint32_t address, uint8_t* pdata, uint32_t size );
- FLASH_ERROR_CODE_E flash_erase( uint32_t start_addr,uint32_t end_addr);
- #endif //ERV_HUMIDIFICATION_BOARD_FLASH_H
|