XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_init_section.h 文件参考

使用段属性实现自动初始化。 更多...

xf_init_section.h 的引用(Include)关系图:

浏览源代码.

结构体

struct  _xf_init_section_desc_t
 初始化函数详情结构体. 更多...
 
#define XF_INIT_EXPORT_SECTION(function, level)
 导出初始化函数到段.
 
#define XF_INIT_EXPORT_SECTION_SETUP(function)   XF_INIT_EXPORT_SECTION(function, "1")
 板级初始化.
 
#define XF_INIT_EXPORT_SECTION_BOARD(function)   XF_INIT_EXPORT_SECTION(function, "2")
 板级初始化.
 
#define XF_INIT_EXPORT_SECTION_PREV(function)   XF_INIT_EXPORT_SECTION(function, "3")
 组件预初始化 (pure software initialization).
 
#define XF_INIT_EXPORT_SECTION_CLEANUP(function)   XF_INIT_EXPORT_SECTION(function, "4")
 板级初始化.
 
#define XF_INIT_EXPORT_SECTION_DEVICE(function)   XF_INIT_EXPORT_SECTION(function, "5")
 设备初始化.
 
#define XF_INIT_EXPORT_SECTION_COMPONENT(function)   XF_INIT_EXPORT_SECTION(function, "6")
 组件初始化 (dfs, lwip, ...).
 
#define XF_INIT_EXPORT_SECTION_ENV(function)   XF_INIT_EXPORT_SECTION(function, "7")
 环境初始化 (mount disk, ...).
 
#define XF_INIT_EXPORT_SECTION_APP(function)   XF_INIT_EXPORT_SECTION(function, "8")
 应用程序初始化 (gui application etc ...).
 
typedef int(* xf_init_fn_t) (void)
 初始化函数类型.
 
typedef struct _xf_init_section_desc_t xf_init_section_desc_t
 初始化函数详情结构体.
 
void xf_init_from_section (void)
 section 注册的函数将会被统一在这个函数里面调用。
 

详细描述

使用段属性实现自动初始化。

作者
catcatBlue (catca.nosp@m.tblu.nosp@m.e@qq..nosp@m.com)
版本
1.0
日期
2024-07-02

Copyright (c) 2024, CorAL. All rights reserved.

在文件 xf_init_section.h 中定义.

宏定义说明

◆ XF_INIT_EXPORT_SECTION

#define XF_INIT_EXPORT_SECTION (   function,
  level 
)
值:
__used __section(".xf_auto_init." level) \
const xf_init_section_desc_t __xf_init_##function = { \
.func = (function), \
.func_name = XSTR(function), \
}
#define __section(x)
指定函数或变量的段位置,如 data 或 bss。
Definition xf_attr.h:87
#define __used
编辑器不会优化掉被 __used 修饰的符号, 即使在代码中即使没有使用到该符号。
Definition xf_attr.h:60
#define XSTR(x)
参数字符串化。 见:https://gcc.gnu.org/onlinedocs/gcc-3.4.3/cpp/Stringification.html
Definition xf_predef.h:110
初始化函数详情结构体.
const xf_init_fn_t func

导出初始化函数到段.

注意
不要直接使用该宏, 也不要使用 XF_INIT_EXPORT_SECTION_BOARD, 请用之后定义 XF_INIT_* 宏, 如 XF_INIT_EXPORT_BOARD.
参数
function初始化函数. 类型见 xf_init_fn_t.
level字符串等级. 范围: "1" ~ "8".

在文件 xf_init_section.h81 行定义.

◆ XF_INIT_EXPORT_SECTION_SETUP

#define XF_INIT_EXPORT_SECTION_SETUP (   function)    XF_INIT_EXPORT_SECTION(function, "1")

板级初始化.

注意
不要直接使用该宏. 请使用 XF_INIT_EXPORT_BOARD.
参数
function初始化函数.

在文件 xf_init_section.h95 行定义.

◆ XF_INIT_EXPORT_SECTION_BOARD

#define XF_INIT_EXPORT_SECTION_BOARD (   function)    XF_INIT_EXPORT_SECTION(function, "2")

板级初始化.

注意
不要直接使用该宏. 请使用 XF_INIT_EXPORT_BOARD.
参数
function初始化函数.

在文件 xf_init_section.h104 行定义.

◆ XF_INIT_EXPORT_SECTION_PREV

#define XF_INIT_EXPORT_SECTION_PREV (   function)    XF_INIT_EXPORT_SECTION(function, "3")

组件预初始化 (pure software initialization).

注意
不要直接使用该宏. 请使用 XF_INIT_EXPORT_PREV.
参数
function初始化函数.

在文件 xf_init_section.h113 行定义.

◆ XF_INIT_EXPORT_SECTION_CLEANUP

#define XF_INIT_EXPORT_SECTION_CLEANUP (   function)    XF_INIT_EXPORT_SECTION(function, "4")

板级初始化.

注意
不要直接使用该宏. 请使用 XF_INIT_EXPORT_BOARD.
参数
function初始化函数.

在文件 xf_init_section.h122 行定义.

◆ XF_INIT_EXPORT_SECTION_DEVICE

#define XF_INIT_EXPORT_SECTION_DEVICE (   function)    XF_INIT_EXPORT_SECTION(function, "5")

设备初始化.

注意
不要直接使用该宏. 请使用 XF_INIT_EXPORT_DEVICE.
参数
function初始化函数.

在文件 xf_init_section.h131 行定义.

◆ XF_INIT_EXPORT_SECTION_COMPONENT

#define XF_INIT_EXPORT_SECTION_COMPONENT (   function)    XF_INIT_EXPORT_SECTION(function, "6")

组件初始化 (dfs, lwip, ...).

注意
不要直接使用该宏. 请使用 XF_INIT_EXPORT_COMPONENT.
参数
function初始化函数.

在文件 xf_init_section.h140 行定义.

◆ XF_INIT_EXPORT_SECTION_ENV

#define XF_INIT_EXPORT_SECTION_ENV (   function)    XF_INIT_EXPORT_SECTION(function, "7")

环境初始化 (mount disk, ...).

注意
不要直接使用该宏. 请使用 XF_INIT_EXPORT_ENV.
参数
function初始化函数.

在文件 xf_init_section.h149 行定义.

◆ XF_INIT_EXPORT_SECTION_APP

#define XF_INIT_EXPORT_SECTION_APP (   function)    XF_INIT_EXPORT_SECTION(function, "8")

应用程序初始化 (gui application etc ...).

注意
不要直接使用该宏. 请使用 XF_INIT_EXPORT_APP.
参数
function初始化函数.

在文件 xf_init_section.h158 行定义.

类型定义说明

◆ xf_init_fn_t

typedef int(* xf_init_fn_t) (void)

初始化函数类型.

返回
int

在文件 xf_init_section.h49 行定义.

◆ xf_init_section_desc_t

初始化函数详情结构体.

desc: description.

注解
基于 section 初始化时用.

函数说明

◆ xf_init_from_section()

void xf_init_from_section ( void  )

section 注册的函数将会被统一在这个函数里面调用。