| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- /******************************************************************************
- 版权所有:
- 文件名称: app.c
- 文件版本: 01.01
- 创建作者: sunxi
- 创建日期: 2012-03-28
- 功能说明: 应用系统初始化
- 其它说明:
- 修改记录:
- */
- /*------------------------------- 头文件 --------------------------------------
- */
- #include "head.h"
-
- /*------------------------------- 宏定义 --------------------------------------
- */
- /*------------------------------ 类型结构 -------------------------------------
- */
- /*------------------------------ 全局变量 -------------------------------------
- */
- struct init_t_1 g_app_init_func[]=
- {
- #ifdef CPU_COLDFIRE // xxxxxx 20220530 add 暂时屏蔽,am335x还没做授权的处理
- {auth_init,"auth_init",ERR_CODE_AUTH},
- #endif
- {Get_Code_CRC,"Get_Code_CRC",ERR_CODE_CRC_FLASH},
- {tbl_create_rsc,"tbl_create_rsc",ERR_CODE_RESOURCE_TABLE},
- {equ_init,"equ_init",ERR_CODE_EQU},
- {equ_init_later,"equ_init_later",ERR_CODE_EQU},
- #ifdef CPU_FUXI
- // {adc_init,"adc_init",ERR_CODE_INIT_SOFTWARE},
- {pit_init,"pit_init",ERR_CODE_UNKOWN}, //初始化PIT(可编程中断定时器)
- #endif
- {factor_init,"factor_init",ERR_CODE_FACTOR},
- {dcfactor_init,"dcfactor_init",ERR_CODE_DCFACTOR},
- {sw_init,"sw_init",ERR_CODE_INIT_SWITCH},
- #ifndef CPU_FUXI
- {dido_init,"dido_init",ERR_CODE_INIT_SOFTWARE},
- #endif
- {hf_init,"hf_init", ERR_CODE_INIT_SOFTWARE},
- {rcd_init,"rcd_init",ERR_CODE_INIT_RECORD},
- {set_create_desc_file,"set_create_desc_file",ERR_CODE_SET_DESC},
- // {set_create_data_file,ERR_CODE_SET_DATA},
- {tbl_init,"tbl_init",ERR_CODE_IEC_TABLE},
- {plc_init,"plc_init",ERR_CODE_PLC},
- {bat_init,"bat_init",ERR_CODE_BATHH},
- #ifdef CPU_AM335X
- {CheckSysProgramVer,"CheckSysProgramVer",ERR_CODE_SYSTEM},
- #endif
- // {esam_init,ERR_CODE_ESAM}, 此初始化函数需使用定值参数,推后到SystemInit中初始化
- };
- #define APP_INIT_NUM (sizeof(g_app_init_func)/sizeof(g_app_init_func[0]))
- INIT_FUNC g_app_exit_func[]=
- {
- #ifndef CPU_FUXI
- esam_exit,
- #endif
- bat_exit,
- plc_exit,
- tbl_exit,
- rcd_exit,
- hf_exit,
- sw_exit,
- factor_exit,
- dcfactor_exit,
- pit_exit,
- adc_exit,
- equ_exit,
- #ifndef GW_AREA_MAIN_2021
- FA_exit,
- #endif
- led_exit,
- menudesc_exit,
- auth_exit, // sunxi 20191204 added
- //pw_quality_exit,
- };
- #define APP_EXIT_NUM (sizeof(g_app_exit_func)/sizeof(INIT_FUNC))
- /*------------------------------ 函数声明 -------------------------------------
- */
- /*------------------------------ 外部函数 -------------------------------------
- 外部函数供其它实体文件引用,必须仔细检查传入参数的合法性.
- */
- int app_init(void)
- {
- int i,ret;
- for(i=0;i<APP_INIT_NUM;i++)
- {
- ret = g_app_init_func[i].func();
- if(ret != 0)
- {
- rt_err_set(g_app_init_func[i].err_code,0);
- printk("%s err(i=%d,ret=%d)\r\n",g_app_init_func[i].init_name,i,ret);
- }
- }
-
- return 0;
- }
- int app_exit(void)
- {
- int i,ret;
- for(i=0;i<APP_EXIT_NUM;i++)
- {
- ret = g_app_exit_func[i]();
- if(ret != 0)
- {
- printk("app_exit err(i=%d,ret=%d)\r\n",i,ret);
- }
- }
- return 0;
- }
- /*------------------------------ 内部函数 -------------------------------------
- 内部函数以下划线‘_’开头,不需要检查参数的合法性.
- */
- /*------------------------------ 测试函数 -------------------------------------
- 一个实体文件必须带一个本模块的测试函数来进行单元测试,如果的确不方便在本模块中
- 进行单元测试,必须在此注明实际的测试位置(例如在哪个实体文件中使用哪个测试函数).
- */
- /*------------------------------ 文件结束 -------------------------------------
- */
|