pinebuds/services/nv_section/log_section/log_section.h

85 lines
2.4 KiB
C
Raw Normal View History

2022-08-15 04:20:27 -05:00
/***************************************************************************
*
* Copyright 2015-2019 BES.
* All rights reserved. All unpublished rights reserved.
*
* No part of this work may be used or reproduced in any form or by any
* means, or stored in a database or retrieval system, without prior written
* permission of BES.
*
* Use of this work is governed by a license granted by BES.
* This work contains confidential and proprietary information of
* BES. which is protected by copyright, trade secret,
* trademark and other intellectual property rights.
*
****************************************************************************/
#ifndef __LOG_SECTION_H__
#define __LOG_SECTION_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "hal_trace.h"
#include <stdint.h>
2022-08-15 04:20:27 -05:00
#include <string.h>
#if 0
void init_dump_log(void);
void dump_whole_logs(void);
//void log_update_time_stamp(void);
//void set_dump_log_flush(bool isEnable);
//bool is_dump_log_flush_pending(void);
//void flush_dump_log_handler(void);
void clear_dump_log(void);
uint32_t test_dump_log_from_flash(uint32_t addr,uint32_t size);
#else
#define LOG_DUMP_SECTOR_SIZE 0x1000
#define LOG_DUMP_SECTOR_BUFFER_COUNT 4
#define LOG_DUMP_BUFFER_LEN \
(LOG_DUMP_SECTOR_SIZE * LOG_DUMP_SECTOR_BUFFER_COUNT)
#define LOG_DUMP_NORFALSH_BUFFER_LEN (LOG_DUMP_BUFFER_LEN * 2)
2022-08-15 04:20:27 -05:00
#define DATA_BUFFER_STATE_FREE 0
#define DATA_BUFFER_STATE_WRITTING 0x1
#define DATA_BUFFER_STATE_WRITTEN 0x2
2022-08-15 04:20:27 -05:00
#define DUMP_LOG_MAGIC 0xd5151001
#define DUMP_LOG_VERSION 0x00010001
2022-08-15 04:20:27 -05:00
// #define DUMP_LOG_NEWLINE '\n'
enum LOG_DUMP_FLUSH_STATE {
LOG_DUMP_FLASH_STATE_IDLE,
LOG_DUMP_FLASH_STATE_ERASED,
LOG_DUMP_FLASH_STATE_WRITTING,
LOG_DUMP_FLASH_STATE_WRITTEN,
2022-08-15 04:20:27 -05:00
};
typedef struct {
uint32_t magic;
uint32_t version;
uint32_t seqnum;
uint8_t is_bootup;
uint8_t reseved[3];
} LOG_DUMP_HEADER;
2022-08-15 04:20:27 -05:00
typedef struct {
uint32_t state;
uint32_t offset;
uint8_t buffer[LOG_DUMP_SECTOR_SIZE];
} DATA_BUFFER;
2022-08-15 04:20:27 -05:00
void log_dump_init(void);
int log_dump_flush(void);
int log_dump_flush_all(void);
void log_dump_notify_handler(enum HAL_TRACE_STATE_T state);
void log_dump_output_handler(const unsigned char *buf, unsigned int buf_len);
void log_dump_callback(void *param);
2022-08-15 04:20:27 -05:00
void log_dump_clear(void);
// uint32_t test_log_dump_from_flash(uint32_t addr,uint32_t size);
2022-08-15 04:20:27 -05:00
#endif
#ifdef __cplusplus
}
#endif
#endif