92 lines
2.9 KiB
C
92 lines
2.9 KiB
C
/****************************************************************************
|
|
|
|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
|
|
|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
|
be copied by any method or incorporated into another program without
|
|
the express written consent of Aerospace C.Power. This Information or any portion
|
|
thereof remains the property of Aerospace C.Power. The Information contained herein
|
|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
|
liability for its use in any way and conveys no license or title under
|
|
any patent or copyright and makes no representation or warranty that this
|
|
Information is free from patent or copyright infringement.
|
|
|
|
****************************************************************************/
|
|
|
|
#ifndef _APP_FLASH_H_
|
|
#define _APP_FLASH_H_
|
|
|
|
#include "app_types.h"
|
|
|
|
#define APP_NV_FTM_SIZE 0x40 /* 64 Bytes */
|
|
|
|
/* ****************************************** */
|
|
/* The total size of flash is 122880 (120K) */
|
|
/* ****************************************** */
|
|
#define APP_FLASH_START_ADDR 0x0
|
|
#define APP_FLASH_NV_FTM_ADDR 0x0
|
|
#define APP_FLASH_NV_FTM_SIZE 0x1000
|
|
#define APP_FLASH_NV_SCN_ADDR 0x1000
|
|
#define APP_FLASH_NV_SCN_SIZE 0x1000
|
|
|
|
/* ****************************************** */
|
|
/* The value range of id NV ID [0x00, 0x39] */
|
|
/* ****************************************** */
|
|
#define NV_FTM_ID_START 0x00
|
|
#define NV_FTM_FACTORY_ID 0x0f
|
|
#define NV_FTM_ID_END 0x39
|
|
|
|
#pragma pack(push)
|
|
#pragma pack(1)
|
|
/* 8 Bytes Used*/
|
|
typedef struct {
|
|
/* Baud rate. */
|
|
uint32_t baudrate;
|
|
/* Number of data bits. The value can be 6 bits, 7 bits, or 8 bits. */
|
|
uint8_t data_bits;
|
|
/* Number of stop bits. <1: 1 stop bit, 2: 2 stop bit> */
|
|
uint8_t stop_bits;
|
|
/* Parity check flag. <0: No check, 1: Odd parity, 2: Even parity> */
|
|
uint8_t parity;
|
|
/* pad 1 byte */
|
|
uint8_t resv;
|
|
} app_uart_param;
|
|
|
|
/* NV="0x0f" 64 Bytes Used */
|
|
typedef struct {
|
|
uint32_t hw_ver;
|
|
uint8_t multicast_mac[6];
|
|
app_uart_param uart_para;
|
|
uint8_t sta_join_notify;
|
|
/* pad 45 byte */
|
|
uint8_t resv[45];
|
|
} nv_ftm_factory_id;
|
|
|
|
#pragma pack(pop)
|
|
|
|
/**
|
|
* @brief app_flash_read() - read data from customer flash
|
|
*
|
|
* @param [in] offset: offset of data
|
|
* @param [out] buffer: buffer of read out data
|
|
* @param [in] size: data size to read
|
|
*
|
|
* @return 0: succeeded;
|
|
* @return others: failed;
|
|
*/
|
|
uint16_t app_flash_read(uint32_t offset, uint8_t * buffer, uint32_t size);
|
|
|
|
/**
|
|
* @brief app_flash_write() - write data to customer flash
|
|
*
|
|
* @param [in] offset: offset of data
|
|
* @param [in] buffer: buffer of write data
|
|
* @param [in] size: data size to write
|
|
*
|
|
* @return 0: succeeded;
|
|
* @return others: failed;
|
|
*/
|
|
uint16_t app_flash_write(uint32_t offset, uint8_t * buffer, uint32_t size);
|
|
|
|
#endif /* _APP_FLASH_H_ */
|