Initial import of NFC GNSS SDK project
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
/*================================================================
|
||||
Copyright (c) 2021, Quectel Wireless Solutions Co., Ltd. All rights reserved.
|
||||
Quectel Wireless Solutions Proprietary and Confidential.
|
||||
=================================================================*/
|
||||
#ifndef __QL_FUNC_H__
|
||||
#define __QL_FUNC_H__
|
||||
|
||||
#include "ql_type.h"
|
||||
|
||||
|
||||
|
||||
typedef void (*userBoot_t)(void * argv);
|
||||
typedef struct
|
||||
{
|
||||
userBoot_t user_boot_entry;
|
||||
u8 startup_prio;
|
||||
} userBootItem_t;
|
||||
#define _userBoot_attr_ __attribute__((unused, section(".userBootTable")))
|
||||
|
||||
|
||||
|
||||
typedef void (*userKernel_t)(void * argv);
|
||||
typedef struct
|
||||
{
|
||||
userKernel_t user_kernel_entry;
|
||||
char *user_kernel_name;
|
||||
u32 stack_size_byte;
|
||||
u8 startup_prio;
|
||||
} userKernelItem_t;
|
||||
#define KERNEL_TASK_STACK_SIZE 2048
|
||||
#define KERNEL_TASK_NAME "kernel"
|
||||
#define _userKernel_attr_ __attribute__((unused, section(".userKernelTable")))
|
||||
|
||||
|
||||
|
||||
typedef void (*app_t)(void * argv);
|
||||
typedef struct
|
||||
{
|
||||
app_t app_entry;
|
||||
char *app_name;
|
||||
u32 stack_size_byte;
|
||||
u8 startup_prio;
|
||||
} appRegItem_t;
|
||||
#define _appRegTable_attr_ __attribute__((unused, section(".appRegTable")))
|
||||
|
||||
|
||||
|
||||
typedef s32 (*_ql_trace_t)(char* fmt, ... );
|
||||
typedef s32 (*_get_api_ptr_t)(char* func_name );
|
||||
|
||||
typedef struct {
|
||||
void (*trace)(char* fmt, ... );
|
||||
s32 (*sprintf)(char *, const char *, ...);
|
||||
s32 (*snprintf)(char*, u32, const char*, ...);
|
||||
s32 (*sscanf)(const char*, const char*, ...);
|
||||
} ql_static_mapping;
|
||||
|
||||
typedef struct func_map
|
||||
{
|
||||
u32 *table_size;
|
||||
void *get_fun_ptr_dep_name;
|
||||
//add system info here
|
||||
}func_mapping;
|
||||
|
||||
typedef struct app_cfg
|
||||
{
|
||||
u32 debug_mode;
|
||||
//add customer conifg here
|
||||
}app_cfg;
|
||||
|
||||
typedef struct sys_info
|
||||
{
|
||||
u32 heam_size;
|
||||
u32 availible_heap_size;
|
||||
//add system info here
|
||||
}sys_info;
|
||||
|
||||
typedef struct boot_para
|
||||
{
|
||||
void *static_maping;
|
||||
void *kernel_maping;
|
||||
}boot_para;
|
||||
|
||||
/* Entry Point */
|
||||
typedef struct {
|
||||
void (*boot)(boot_para *boottime_para);
|
||||
void (*kernel)(void *kerneltime_para);
|
||||
void (*main)(void *runtime_para);
|
||||
u32 *app_config;
|
||||
u32 *system_infomation;
|
||||
u32 data_load_addr;
|
||||
u32 data_ram_start;
|
||||
u32 data_ram_end;
|
||||
}ql_open_entry;
|
||||
|
||||
extern _ql_trace_t ql_trace;
|
||||
extern u32 func_table_size;
|
||||
extern _get_api_ptr_t m_get_api_ptr;
|
||||
|
||||
#endif // End-of '__QL_FUNC_H__'
|
||||
|
||||
Reference in New Issue
Block a user