Files

73 lines
2.2 KiB
C
Raw Permalink Normal View History

2026-04-09 10:14:20 +08:00
/**
**************************************************************************
* @file flash.h
* @brief flash header file
**************************************************************************
* Copyright notice & Disclaimer
*
* The software Board Support Package (BSP) that is made available to
* download from Artery official website is the copyrighted work of Artery.
* Artery authorizes customers to use, copy, and distribute the BSP
* software and its related documentation for the purpose of design and
* development in conjunction with Artery microcontrollers. Use of the
* software is governed by this copyright notice and the following disclaimer.
*
* THIS SOFTWARE IS PROVIDED ON "AS IS" BASIS WITHOUT WARRANTIES,
* GUARANTEES OR REPRESENTATIONS OF ANY KIND. ARTERY EXPRESSLY DISCLAIMS,
* TO THE FULLEST EXTENT PERMITTED BY LAW, ALL EXPRESS, IMPLIED OR
* STATUTORY OR OTHER WARRANTIES, GUARANTEES OR REPRESENTATIONS,
* INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
*
**************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __BSP_FLASH_H__
#define __BSP_FLASH_H__
#include "at32a423.h"
#define FMC_WRITE_START_ADDR (0x08000000 + 1024 * 50)
#pragma pack (1)
typedef struct
{
uint32_t flash_head;
uint16_t output_mode;
uint16_t output_ax;
uint16_t output_ay;
uint16_t min_trigger_res_value;
uint16_t max_trigger_res_value;
uint16_t div_trigger_res;
uint32_t flash_tail;
}flash_para_struct;
#pragma pack ()
// <20><><EFBFBD>޸<EFBFBD>Ϊƥ<CEAA><C6A5><EFBFBD><EFBFBD><E1B9B9>Ҫ<EFBFBD><D2AA><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8_t flash_read(uint32_t read_addr, void *p_buffer, uint32_t num_read);
uint8_t flash_write_nocheck(uint32_t write_addr, const void *p_buffer, uint32_t num_write);
uint8_t flash_write(uint32_t write_addr, const void *p_Buffer, uint32_t num_write);
int load_config_params(flash_para_struct *params);
int save_config_params(flash_para_struct *params);
uint8_t flash_erase(uint32_t sector_addr, uint32_t len);
uint8_t bsp_flash_is_erased(uint32_t addr, uint32_t size);
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
#endif