mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
74 lines
2.6 KiB
C
74 lines
2.6 KiB
C
/**
|
|
******************************************************************************
|
|
* @file ll_aton_ec_trace.h
|
|
* @author SRA Artificial Intelligence & Embedded Architectures
|
|
* @brief Header file for defining epoch controller trace methods
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* Copyright (c) 2024 STMicroelectronics.
|
|
* All rights reserved.
|
|
*
|
|
* This software is licensed under terms that can be found in the LICENSE file
|
|
* in the root directory of this software component.
|
|
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
*
|
|
******************************************************************************
|
|
*/
|
|
|
|
#ifndef __LL_ATON_EC_TRACE_H
|
|
#define __LL_ATON_EC_TRACE_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef struct mpool_reloc_info_t
|
|
{
|
|
const char *name;
|
|
const char *base_symbol;
|
|
uintptr_t base_address;
|
|
int is_absolute;
|
|
int is_user_io;
|
|
} mpool_reloc_info_t;
|
|
|
|
// array of memory pool info needed for relocation (ends when name == NULL)
|
|
extern mpool_reloc_info_t mpool_reloc_info[];
|
|
|
|
extern uintptr_t get_ec_aton_base(void);
|
|
extern void initialize_ec_aton_base(void);
|
|
|
|
extern void ec_trace_comment(const char *comment);
|
|
|
|
extern void ec_trace_init(const char *out_filenamme, const char *network_name);
|
|
extern void ec_trace_start_blob(const char *blob_name);
|
|
extern void ec_trace_end_blob(const char *blob_name);
|
|
extern void ec_trace_start_epoch(unsigned int num);
|
|
extern void ec_trace_end_epoch(unsigned int num);
|
|
extern void ec_trace_all_blobs_done(void);
|
|
|
|
extern void ec_trace_wait_epoch_end(uint32_t wait_mask);
|
|
|
|
extern void ec_trace_unsupported(void);
|
|
|
|
extern unsigned int ec_trace_get_IP_id(uintptr_t unitbase);
|
|
extern unsigned int ec_trace_get_REG_id(unsigned int regoffset);
|
|
|
|
extern void ec_trace_write(uintptr_t dstreg, unsigned int val);
|
|
extern void ec_trace_write_reloc(uintptr_t dstreg, unsigned int base, unsigned int offset);
|
|
extern void ec_trace_reg_write(unsigned int IP_id, unsigned int REG_id, unsigned int val);
|
|
extern void ec_trace_reg_write_reloc(unsigned int IP_id, unsigned int REG_id, unsigned int base, unsigned int offset);
|
|
extern void ec_trace_reg_writefield(unsigned int IP_id, unsigned int REG_id, unsigned int lsb, unsigned int num_bits,
|
|
unsigned int val);
|
|
extern void ec_trace_reg_poll(unsigned int IP_id, unsigned int REG_id, unsigned int lsb, unsigned int num_bits,
|
|
unsigned int val);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // __LL_ATON_EC_TRACE_H
|