⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssp_init.c

📁 abstract rtos
💻 C
字号:
#include "syscfg.h"#ifdef __cplusplus#if __cplusplusextern "C"{#endif #endif #include "sys/sys_pub.h"#include "aos.h"#if( CONFIG_BOARD_GMPU == TRUE )#include "patch/public/patch.h"#endif#include "ssp_cputick.h"#include "ssp_spy.h"#include "ssp_except.h"U32 g_ulSysTextStart=0;   U32 g_ulSysTextEnd=0;     U32 g_ulPatchTextStart=0; U32 g_ulPatchTextEnd=0; U32 ssp_sys_reg();U32 m_usr_init();U32 m_slab_init( );extern int  enable_watch_dog(void);extern void clear_watch_dog(void);#if( CONFIG_OS_VXWORKS == TRUE )#if( CONFIG_CPU_PPC == TRUE )extern void _sysInit ();#else   extern void        sysInit ();#endifextern char	    etext [];		    #endifU32 m_sys_init(){    U32 result;    enable_watch_dog();#ifdef _EIA2000V5    sysInitTimeBase();#endif#if( CONFIG_OS_VXWORKS == TRUE )    #if( CONFIG_BOARD_GMPU == TRUE )    g_ulSysTextStart = (U32)_sysInit;    g_ulSysTextEnd   = (U32)etext;    g_ulPatchTextStart = PATCH_CODE_START_ADDR;    g_ulPatchTextEnd   = PATCH_CODE_START_ADDR+PATCH_CODE_LENGTH;    #else    #if( CONFIG_CPU_PPC == TRUE )    g_ulSysTextStart = (U32)_sysInit;    #else    g_ulSysTextStart = (U32)sysInit;    #endif    g_ulSysTextEnd   = (U32)etext;    #endif        #else    g_ulSysTextStart = 0;    g_ulSysTextEnd   = 0;    g_ulPatchTextStart = 0;    g_ulPatchTextEnd   = 0;#endif    sys_task_lock();#if( AOS_INCLUDE_SSP_KER_SPY == TRUE )    result = m_dbg_info_init();    if( AOS_SUCC != result )    {        return result;    }#endif    result = m_cputick_init();    if( AOS_SUCC != result )    {        return result;    }    result = m_int_init();    if( AOS_SUCC != result )    {        return result;    }    result = m_slab_init();    if( AOS_SUCC != result )    {        return result;    }    result = m_lcmque_init();    if( AOS_SUCC != result )    {        return result;    }    result = m_time_init();    if( AOS_SUCC != result )    {        return result;    }        result = m_smem_init();    if( AOS_SUCC != result )    {        return result;    }#if( AOS_INCLUDE_SSP_KER_EXCEPTION == TRUE )    result = m_except_init();    if( AOS_SUCC != result )    {        return result;    }#endif        result = m_dmem_init();    if( AOS_SUCC != result )    {        return result;    }        result = m_task_init();    if( AOS_SUCC != result )    {        return result;    }    if( AOS_SUCC != m_system_restart_task_init() )    {        return result;    }#if( AOS_INCLUDE_SSP_KER_SPY == TRUE )    result = m_spy_init();    if( AOS_SUCC != result )    {        return result;    }#endif        result = m_sem_init();    if( AOS_SUCC != result )    {        return result;    }    result = m_mque_init();    if( AOS_SUCC != result )    {        return result;    }#if( AOS_INCLUDE_SSP_KER_DEBUG == TRUE )    result = m_debug_init();    if( AOS_SUCC != result )    {        return result;    }#endif    result = m_msg_init();    if( AOS_SUCC != result )    {        return result;    }    clear_watch_dog();    result = m_timer_init();    if( AOS_SUCC != result )    {        return result;    }    result = m_tick_init();    if( AOS_SUCC != result )    {        return result;    }    result = ssp_sys_reg();    if( AOS_SUCC != result )    {        return result;    }    if( !aos_is_mini_system() )    {        result = m_usr_init();        if( AOS_SUCC != result )        {            return result;        }    }    else    {        result = m_mini_usr_init();        if( AOS_SUCC != result )        {            return result;        }    }#if( CONFIG_OS_VXWORKS == TRUE )    aos_task_create( "sinit",                     CONFIG_MSG_TASK_STACK_SIZE,                     TASK_PRIO_ABOVE_NORMAL,                     AOS_TASK_NOPREEMPT,                     (VOID(*)(VOID*))m_msg_system_start,                     (VOID*)NULL,                     &result );#else    result = m_msg_system_start();    if( AOS_SUCC != result )    {        return result;    }#endif    return AOS_SUCC;}U32 ssp_sys_reg(){    U32 result;        result = aos_mps_reg( "mps_sys", MPS_SYS, TASK_PRIO_ABOVE_NORMAL);    if( AOS_SUCC != result )    {        return result;    }            result = aos_mpe_reg( "mpe_sys", MPE_SYS, MPS_SYS, NULL, NULL );    if( AOS_SUCC != result )    {        return result;    }    result = aos_mpe_reg( "mpe_tmr", MPE_TIMER, MPS_SYS, NULL, NULL );    if( AOS_SUCC != result )    {        return result;    }    if( !aos_is_mini_system() )    {        result = aos_mpe_reg( "mpe_lcm", MPE_LCM, MPS_SYS, lcm_init_proc, lcm_msg_proc );        if( AOS_SUCC != result )        {            return result;        }    }    #if( AOS_INCLUDE_SSP_KER_DEBUG == TRUE )	result = aos_mpe_reg( "mpe_dbg", MPE_DEBUG, MPS_SYS, debug_init_proc, (MPE_RUN_ROUTINE)debug_msg_proc);    if( AOS_SUCC != result )    {        return result;    }#endif    result = aos_mpe_reg( "mpe_tsk", MPE_TASK, MPS_SYS, NULL, NULL );    if( AOS_SUCC != result )    {        return result;    }    result = aos_mpe_reg( "mpe_msg", MPE_MSG, MPS_SYS, NULL, NULL );    if( AOS_SUCC != result )    {        return result;    }    result = aos_mpe_reg( "mpe_sm", MPE_SEM, MPS_SYS, NULL, NULL );    if( AOS_SUCC != result )    {        return result;    }    result = aos_mpe_reg( "mpe_que", MPE_QUE, MPS_SYS, NULL, NULL );    if( AOS_SUCC != result )    {        return result;    }    result = aos_mpe_reg( "mpe_evt", MPE_EVENT, MPS_SYS, NULL, NULL );    if( AOS_SUCC != result )    {        return result;    }    result = aos_mpe_reg( "mpe_mm", MPE_MM, MPS_SYS, NULL, NULL );    if( AOS_SUCC != result )    {        return result;    }        result = aos_mpe_reg( "mpe_tm", MPE_TIME, MPS_SYS, NULL, NULL );    if( AOS_SUCC != result )    {        return result;    }    return AOS_SUCC;}#ifdef __cplusplus#if __cplusplus}#endif #endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -