/**************************************************************************//**
 * @item     CosyOS-III 例程（系统构建）
 * @file     demo_main.c
 * @brief    例程-主函数 for STC32G
 * @author   迟凯峰
 * @version  V1.0.3
 * @date     2026.06.20
 ******************************************************************************/

#if 0 /* 编译开关 */

#include "CosyOS.H" // 用户的各个c文件中应包含此文件
#include <stdio.h> // for printf

int main(void)
{
    /* 主栈检查初始化 */// 在main函数的入口处
    #if (SYSCFG_DEBUGGING == 1) && (MCUCFG_TASKSTACK_MODE & __MSP__)
    uMainStack_CheckInit(256); // 传参主栈大小，务必与启动文件中定义值相同。
    #endif

    /* USER INIT CODE BEGIN */
    
    /* USER INIT CODE END */
    
    /* USER INIT PendSV中断 */// 确保该中断不会被硬件触发，优先级必须为最低级。
    if(1){
        IPH &=~PX0H;
        PX0 = 0;
    }// 在 mcucfg_80251.h 中，PendSV中断 配置为 INT0中断。
    
    /* USER DEBUG CONFIG */// for CosyOS-Taskmgr
    #if (SYSCFG_DEBUGGING == 1)
    if(1){
        void Debug_Config(void);
        Debug_Config();
    }// defined in demo_debug.c
    #endif
    
    /* USER 启动 CosyOS */// 在main函数的末尾处
    if(1){
        #if 1 // 建议前期调试时开启，如果CosyOS启动失败会返回错误码提示用户！
        unsigned char _ecode = uStartCosyOS();
        printf("CosyOS startup failed, error code: %d.\r\n", (int)_ecode);
        #else
        uStartCosyOS();
        #endif
    }
    while(1);
}


#endif
